HTML输入字段:自动显示数字输入法

scr*_*rrr 5 html mobile html5 android smartphone

我有一个网络应用程序,其布局设置为与移动设备一起使用.但是,表单中的大多数输入字段都是数字.

每次我使用Android手机访问表单并单击其中一个输入字段以创建输入字段时,qwerty会出现,我必须切换到数字输入法并输入一些数字.这很不方便.

是否有HTML属性或某事物.类似的将使Android(和iPhone)显示数字键盘作为默认值?

同样,这是一个Rails应用程序,而不是本机智能手机应用程序.

任何帮助表示感谢,谢谢.

She*_*epy 13

在HTML 5中,type='number'表示字段只需数字和现代浏览器只允许数字输入.

<input type='number' value='123' />
Run Code Online (Sandbox Code Playgroud)

编辑:

让我稍微修改一下,因为从评论来看,原始答案对于大多数人来说有点浅薄.

基本上,你有三种选择:type='number',type='range',和type='tel'.他们都没有保证工作.结果因浏览器和键盘而异.

例如,我的Android Opera Mobile不会要求使用数字键盘,但它会number像桌面版一样在字段中添加一个旋转框.一个step='0.1'与当前实现一起使用但不适合移动使用的旋转框.

在我的Android Firefox 5上,number我的股票输入也不会产生数字键盘 - 这就是我开始怀疑我的股票键盘是否支持数字 - 但tel确实如此!用点!以及1 2 3的ABC DEF GHI也给出了它. 但是type='tel',不是HTML5标准(尚未),并且您没有从浏览器获得验证.(更新2013-08:tel已经制定了HTML5标准!我不确定何时......)

至于range,规格期望浏览器提供滑块而不是输入框.有些人做了,有些做不到,而iPhone Safari在我检查的后期阵营中.如果你不介意不同的演示文稿,它可能是一个更好的选择.

是的,我知道.欢迎来到HTML 5开发.事情正在改善; 我希望你不会因我们现在所面临的风暴而被推迟.


jkj*_*ing 7

我发现组合2种方法可以实现这一点.

在大多数Android浏览器中,设置type="number应该在大多数情况下完成.但是,在iOS中这将调出普通键盘,但默认为数字和特殊字符页面.我更喜欢手机拨号类型输入.要在iOS中完成此操作,请使用该pattern属性.最终的HTML元素如下所示:

<input type="number" pattern="[0-9]*" value="123" />
Run Code Online (Sandbox Code Playgroud)