textarea中的移动数字键盘[0-9]

时间:2015-11-05 17:22:02

标签: javascript jquery html angularjs keyboard

是否可以在textarea框中打开移动数字键盘?

典型的pattern="[0-9]*"似乎不适用于textarea,我在其他地方找不到任何其他信息。我试图让它在一个有角度的应用程序中工作,所以有没有办法阻止默认键盘上的默认()以某种方式触发数字键盘?

e.g。

<textarea id="searchBox" pattern="[0-9]*" ng-model="searchParams.searchString" rows="3" ng-blur="formatSearch()"></textarea>

4 个答案:

答案 0 :(得分:1)

不幸的是textarea尚不可能。我已经对此进行了详尽的搜索,并尝试了许多模式和类型等等,但textarea不支持它。

有两种可能的解决方案,您可以创建自己的html5自定义软键盘,并应用不打开默认键盘的技巧。

或者(我认为更优雅)使用类型number或类型tel的普通输入并附加onkeyup监听器。按下enter键后,您将该行处理到textarea并清理并重新聚焦输入。

答案 1 :(得分:0)

是否可以使用输入? 像

<script type="text/javascript"> 
var now = new Date();
alert(now.getHours()); //to confirm what's the value you're getting
if (now.getHours() >= 11 && now.getHours() < 14) 
{
    alert('here there be dragons'); //to confirm that the condition is ok
}
</script>

而不是像textarea那样设置输入样式。 我对textarea没有任何想法。

答案 2 :(得分:0)

textarea可以通过php验证,但不能在html中验证。以下是我验证textarea的方法,

$value=$_POST['value from textarea']
if(preg_match("/^[A-Za-z0-9]+$/", $value != 1) {
    echo"oops";
} else {
    echo "success";
}

答案 3 :(得分:0)

您可以在文本区域中使用全局属性输入模式来更改Android或iPhone键盘。

<textarea inputmode="numeric"></textarea>

MDN Web文档: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode