带有 type="number" 的 HTML5 输入框在 Chrome 浏览器中不接受逗号

新手上路,请多包涵

我正在使用带有 type="number" 的 HTML5 输入框。关于某些文档,如果我还使用 lang="" 属性,应该可以输入带逗号(而不是句点)的数字。它适用于 Firefox,但不适用于 Chrome(不接受逗号)。如何让 Chrome 接受输入框中的逗号。我的问题是我们的德国用户希望他们可以在那里输入逗号而不是句号。

https://jsfiddle.net/byte2702/y3Lpfw7m/

 Please enter a number with comma: <br/>
<input id="num" type="number" step="any" lang="de" pattern="-?[0-9]+[\,.]*[0-9]+" />

原文由 Jana Weschenfelder 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 441
2 个回答

截至目前(30/08/2017),Antoine Thiry 的回答似乎在 Chrome 中不再有效(我的版本是 60.0.3112.113)。不幸的是,除了用 javascript 模拟 type=“number” 之外,我没有任何其他建议。

原文由 Ogier 发布,翻译遵循 CC BY-SA 3.0 许可协议

实际上,如果我正确阅读文档, pattern 不支持 type=number 。因此,坚持 type=text 然后添加 pattern="..." 进行前端验证。在下一步中,如果文本输入与 JavaScript/计算格式不兼容,则需要将其转换为实数。

2017年了,这个常见问题还是没有很好的解决办法……

原文由 Jörn Berkefeld 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题