在iOS上,<input type =“number”/>没有显示数字键盘

根据苹果的文件,当我设置一个numbertypes的input元素,我应该得到一个数字键盘。

 <input type="number"/> 

number :用于指定号码的文本字段。 在iOS 3.1及更高版本中引入一个数字键盘键盘。

看起来该死的几乎不可能搞砸了。 但是,当我在我的iPhone或模拟器(都是iOS6)上查看这个简单的小提琴时,数字键盘不会出现,而是获得标准的字母键盘。

http://jsfiddle.net/Cy4aC/3/

我究竟可能在这里搞砸了什么?

在这里输入图像说明

您需要指定模式:

 <input type="number" pattern="\d*"/> 

作为一个number也可能是负面或浮点,所以- 并且应该在键盘上可用,除非您指定仅限数字的模式。

在这里输入图像说明

我不知道这是你想要的,但inputtypes=“电话”会给你“电话号码垫”。

根据我的经验,这在浏览器中是非常不一致的。 iOS之间来回支持这个正确的我的用例。 我通常只想要默认显示的键盘是数字的。 最后一次检查,正确使用inputtypes=“数字”提出了数字键盘,但“大小”属性被忽略,这将抛出我的移动格式严重。 我添加了一个属性到所有的input,我更喜欢数字键盘默认情况下,我用jQuery来改变任何属性(即type =“数字”),当浏览器检测到一个工作正常。 这样我就不必回头去更新各个input,并且只允许我将它应用到支持的浏览器中。

如果主要的移动操作系统除了inputtypes之外还有“默认键盘”的属性,那将是可爱的。 如果用户input地址或邮政编码呢? 通常那些以数字开头,所以默认显示数字键盘,但允许任何文本,是有帮助的。

至于validation,我不能依靠浏览器来支持特定inputtypes的validation,所以我使用JavaScript和服务器端validation。