我有一个问题,我不确定它是否是一个bug,一些关于android键盘的怪异等等.
假设你有一个输入框:
<input type='number' step='any' >
Run Code Online (Sandbox Code Playgroud)
在默认的ICS安卓浏览器,Safari移动浏览器,iOS Chrome(以及可能还有其他浏览器)上,这完全符合您的预期:它会调出一个带有数字和小数点的键盘(因为这一步).
但是在Android上的Chrome上(正如我所说的只有这个版本),它会调出一个没有小数的数字键盘.
有没有人知道解决方法?
额外细节
它似乎仅限于三星键盘和谷歌Chrome的组合.以下作品:
因此,似乎只有三星键盘和Chrome的组合才会导致问题.
如何在iOS 和 Android 上显示带小数点按钮的数字键盘?是否有特定于离子的方法来做到这一点?
我可以在iOS和Android上显示数字键盘,具体如下:
<input type="number" pattern="[0-9]*">
Run Code Online (Sandbox Code Playgroud)
iOS似乎忽略了type
值"number"并显示了基于该pattern
属性的数字键盘,但type
无论如何都为Android设置了"数字".
编辑:忘记提及我试过了pattern="[0-9.]*"
.当我这样做时,iOS只显示完整的键盘.
编辑2:我也试过pattern="\d+[,.]?\d*"
- 再次,无济于事.
HTML5有一个名为"number"的新输入类型.在大多数移动智能手机上,这会打开一个数字键盘.在pre-html5手机上,类型会回归到"文本",我们没问题.然而,在某些型号上,数字小键盘没有句号,也无法单击"符号"按钮添加句号.具有此缺陷的已知型号是:
还有什么型号?较旧的三星Android 2.2手机没有这个问题.其他Android设备,如Nabi Tab没有这个问题.我看过Galaxy S3没有这个问题.
见相关讨论:
此外,没有注意到那些输入类型="tel "适用于iPad,但不能作为iPhone上数字的替代品.因此,webapp必须确定设备模型,否则请求输入type ="text ".
什么手机和平板电脑型号错误地解释input type="number"
为整体非十进制输入键盘?