某些Android设备/ Chrome上的HTML5数字输入中没有小数位

时间:2013-11-26 14:11:14

标签: javascript android jquery cordova

在某些Android设备上,创建HTML5号码输入字段不会显示任何小数位。

<input type="number" step="0.001" min="0" name="foo" />

这很麻烦,因为我正在尝试编写HTML5 + Javascript应用程序。它目前适用于IOS以及一些(大多数?)Android设备。只是某些Android版本/品牌在弹出的数字键盘上没有显示小数位。

E.g。在Galaxy S3上,应用程序本身运行正常,但如果在Chrome中打开相同的代码,则不会得到小数点。我正在使用这个组合来测试并尝试解决这个问题。

这是问题 - 有没有办法使用Javascript来检测键盘是否会显示小数点?在这种情况下,我可以通过编程方式将number类型更改为text,但我只想为必要的设备执行此操作。

(或者,有没有办法强制小数点出现在键盘上?到目前为止我的研究表明没有,这就是为什么我要问的是解决方法。)

我尝试过使用各种步骤(any0.1等),设置模式,将起始值设置为小数(value="0.1")都无济于事。

我已经尝试检测到浏览器可以处理数字字段,但这会报告为'true'...设备可以处理数字字段,他们只是处理它们严重

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

我不确定下一步该尝试什么......来自社区的任何想法?

1 个答案:

答案 0 :(得分:0)

尝试将min标记设置为0.0而不是0

&#13;
&#13;
<input type="number" step="0.001" min="0.0" name="foo" />
&#13;
&#13;
&#13;