有没有办法打开'字母数字'键盘默认有数字?

时间:2014-09-01 13:08:18

标签: javascript html cordova

我正在使用Phonegap和HTML5开发Web应用程序。

当关注文字输入时,我被要求打开'字母数字'键盘并显示'数字'键。

这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

电话:<input type="tel" name="usrtel">

这会打开一个字母数字键盘。这可以是您想要的任何号码,而不仅仅是电话号码:-)

类型&#34; tel&#34;是新的,来自html5。有关所有输入类型的概述,请访问:W3Schools

从周一编辑2014年9月1日下午4:30: 由于Jonas Grumann给出的答案,我正在编辑我的答案。您应该仅将<input type="tel"用于数字。与所描述的类型相同:例如,电话号码。如果用户输入十进制数,则此输入类型将无法识别它。

如果您希望用户输入十进制数,则必须使用此处给出的答案&#34;模式&#34;你应该使用它们,然后像​​这样:

<强> HTML

<input type="text">

和JS(请考虑:这些是您需要的命令jQuery / jQuery-mobile

$('input[type="text"]').on('touchstart', function() {
  $(this).attr('type', 'number');
});

$('input[type="text"]').on('keydown blur', function() {
  $(this).attr('type', 'text');
});

为了完整起见,我将引用已在此处给出此答案的用户 - &gt; Force iOS numeric keyboard with custom currency pattern

  

这个想法很简单。输入开始并以type =&#34; text&#34;结束,   但它简单地变成了类型=&#34;数字&#34;在touchstart活动上。这个   导致出现正确的iOS键盘。一旦用户开始   要输入任何输入或离开该字段,输入将变为type =&#34; text&#34;   再次,从而绕过了验证。

     

这种方法存在一个缺点。当用户返回输入时   已经填写完毕,输入将丢失(如果它   没有验证)。这意味着用户无法返回   编辑以前的字段。在我的情况下,这并不是那么糟糕,因为   用户可能想要一次又一次地使用计算器   值,因此自动删除输入将保存一些   脚步。但是,在所有情况下,这可能并不理想。

     

看起来Mobile Safari支持新的HTML5输入类型   电子邮件,号码,搜索,电话和网址的属性。这些将切换   显示的键盘。请参阅type属性。

如果还有其他问题,请与我联系,然后重新编辑。