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

标签 javascript android jquery cordova

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

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

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

例如在 Galaxy S3 上,该应用程序本身运行良好,但如果在 Chrome 中打开相同的代码,您将看不到小数点。我正在使用此组合来测试并尝试解决该错误。

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

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

我尝试过使用各种步骤(any0.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/

相关文章:

javascript - 当 CasperJS 中的特定断言失败时如何捕获屏幕截图?

javascript - 如果放入 100 显示从 1 到 100 的每个数字,没有零,我想删除零 ex 20 变成 2 和 100 变成 1

android - 如何在android中创建通知?

javascript - 使用 jQuery 根据另一列的文本求和列总计

javascript - 通过jquery html()设置html的缺点

jquery - JS Cookie 隐藏/显示 div

javascript - Toastr JS 保持 toast 无限期可见

javascript - 组合单选按钮和文本字段

android - 对话框 fragment 中的自动完成位置

java - 使用 ContentResolver 和 openInputStream() (Android)