我正在使用Phonegap和HTML5开发Web应用程序。
当关注文字输入时,我被要求打开'字母数字'键盘并显示'数字'键。
这甚至可能吗?
答案 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属性。
如果还有其他问题,请与我联系,然后重新编辑。