textarea中的移动数字键盘[0-9]
Mobile numeric keyboard [0-9] in textarea
是否可以在textarea框中打开手机数字键盘?
典型的 pattern="[0-9]*"
似乎不适用于文本区域,我在其他任何地方都找不到关于此的任何其他信息。我正在尝试在 angular 应用程序中使用它,那么有什么方法可以在默认键盘上防止默认()并以某种方式触发数字键盘吗?
例如
<textarea id="searchBox" pattern="[0-9]*" ng-model="searchParams.searchString" rows="3" ng-blur="formatSearch()"></textarea>
不能使用输入法吗?
喜欢
<input name="numbers" type="tel">
然后将输入设置为像文本区域一样的样式。
我对文本区域一无所知。
遗憾的是,textarea
还无法做到这一点。我对此进行了详尽的搜索,并尝试了多种模式和类型等等,但 textarea
不支持它。
有两种可能的解决方案,要么您可以创建自己的 html5 自定义软键盘,然后应用一个技巧来不打开默认键盘。
或者(我认为更优雅)使用类型为 number
或类型 tel
的普通输入并附加一个 onkeyup listerer。当按下 enter 键时,您将该行处理到您的文本区域并清理并重新聚焦输入。
文本区域可以通过 php 验证,但不能在 html 中验证。下面是我验证文本区域的方法,
$value=$_POST['value from textarea']
if(preg_match("/^[A-Za-z0-9]+$/", $value != 1) {
echo"oops";
} else {
echo "success";
}
您可以在textarea中使用全局属性inputmode来改变Android或iPhone键盘。
<textarea inputmode="numeric"></textarea>
MDN 网络文档:
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode
是否可以在textarea框中打开手机数字键盘?
典型的 pattern="[0-9]*"
似乎不适用于文本区域,我在其他任何地方都找不到关于此的任何其他信息。我正在尝试在 angular 应用程序中使用它,那么有什么方法可以在默认键盘上防止默认()并以某种方式触发数字键盘吗?
例如
<textarea id="searchBox" pattern="[0-9]*" ng-model="searchParams.searchString" rows="3" ng-blur="formatSearch()"></textarea>
不能使用输入法吗? 喜欢
<input name="numbers" type="tel">
然后将输入设置为像文本区域一样的样式。 我对文本区域一无所知。
遗憾的是,textarea
还无法做到这一点。我对此进行了详尽的搜索,并尝试了多种模式和类型等等,但 textarea
不支持它。
有两种可能的解决方案,要么您可以创建自己的 html5 自定义软键盘,然后应用一个技巧来不打开默认键盘。
或者(我认为更优雅)使用类型为 number
或类型 tel
的普通输入并附加一个 onkeyup listerer。当按下 enter 键时,您将该行处理到您的文本区域并清理并重新聚焦输入。
文本区域可以通过 php 验证,但不能在 html 中验证。下面是我验证文本区域的方法,
$value=$_POST['value from textarea']
if(preg_match("/^[A-Za-z0-9]+$/", $value != 1) {
echo"oops";
} else {
echo "success";
}
您可以在textarea中使用全局属性inputmode来改变Android或iPhone键盘。
<textarea inputmode="numeric"></textarea>
MDN 网络文档: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode