在某些 Android 设备上创建的 HTML5 数字输入字段不显示任何小数位。
<input type="number" step="0.001" min="0" name="foo" />
这很麻烦,因为我正在尝试编写一个 HTML5 + Javascript 应用程序。它目前适用于 IOS 以及一些(大多数?)Android 设备。只是有些Android版本/品牌在弹出的数字键盘上不显示小数位。
例如在 Galaxy S3 上,该应用程序本身运行良好,但如果在 Chrome 中打开相同的代码,您将看不到小数点。我正在使用此组合来测试并尝试解决该错误。
问题来了 - 有没有什么方法可以使用 Javascript 来检测键盘不会显示小数点?在这些情况下,我可以通过编程将 number
类型更改为 text
,但我只想对需要它的设备执行此操作。
(或者,有什么方法可以强制小数点出现在键盘上吗?到目前为止,我的研究表明没有,这就是我询问解决方法的原因。)
我尝试过使用各种步骤(any
、0.1
等)、设置模式、将起始值设置为小数(value="0.1 "
) 都无济于事。
我已经尝试检测浏览器是否可以处理数字字段,但返回的报告为“真”...设备可以处理数字字段,它们只是糟糕地处理它们:
var i = document.createElement("input");
i.setAttribute("type", "number");
i.setAttribute("step", "0.001");
alert(i.type + ' and ' + i.step); // gives "number and 0.001", so the device has stored the values and claims to support them
我不确定接下来要尝试什么……社区有什么想法吗?
最佳答案
尝试将 min
标签设置为 0.0
而不是 0
<input type="number" step="0.001" min="0.0" name="foo" />
关于javascript - 某些 Android 设备/Chrome 上的 HTML5 数字输入中没有小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20219409/