【发布时间】:2014-09-01 22:41:23
【问题描述】:
我正在使用 Phonegap 和 HTML5 开发一个网络应用程序。
当专注于文本输入时,我被要求打开显示“数字”键的“字母数字”键盘。
这可能吗?
【问题讨论】:
标签: javascript html cordova
我正在使用 Phonegap 和 HTML5 开发一个网络应用程序。
当专注于文本输入时,我被要求打开显示“数字”键的“字母数字”键盘。
这可能吗?
【问题讨论】:
标签: javascript html cordova
电话:<input type="tel" name="usrtel">
这会打开一个字母数字键盘。这可以是您想要的任何号码,而不仅仅是电话号码 :-)
“tel”类型是新的,来自html5。关于所有输入类型的概述可以在这里找到:W3Schools
从星期一编辑。 2014 年 9 月 1 日下午 4:30:
由于 Jonas Grumann 给出的答案,我正在编辑我的答案。您应该仅将<input type="tel" 用于数字。就像描述的类型:例如电话号码。如果用户输入十进制数字,此输入类型将无法识别。
如果您希望用户输入十进制数字,您必须使用此处给出的答案“模式”来执行此操作,您应该像这样使用它们:
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');
});
为了完整起见,我将在此处引用给出此答案的用户 -> Force iOS numeric keyboard with custom currency pattern
这个想法很简单。输入开始并以 type="text" 结束, 但它在 touchstart 事件中短暂变为 type="number" 。这个 导致出现正确的 iOS 键盘。一旦用户开始 输入任何输入或离开该字段,输入变为 type="text" 再次,从而绕过验证。
这种方法有一个缺点。当用户返回输入时 已经填写的,输入会丢失(如果 不验证)。这意味着用户将无法返回并 编辑以前的字段。就我而言,这并不是那么糟糕,因为 用户可能希望以不同的方式一遍又一遍地使用计算器 值,因此自动删除输入将节省一些 脚步。但是,这可能并不适用于所有情况。
Mobile Safari 似乎支持新的 HTML5 输入类型 电子邮件、号码、搜索、电话和 url 的属性。这些将切换 显示的键盘。查看类型属性。
如果还有其他问题,请告诉我,我会再次编辑。
【讨论】: