我一直在阅读许多其他问题,例如这些[1] [2] [3],但问题仍然存在。
我需要找到“最干净”的方式来input
为移动设备创建 HTML,并且尊重所有这三个规则:
我尝试了什么?
我遇到过这些解决方案,它们都没有累积地尊重上述三个规则。
解决方案 1
<input type="text" pattern="\d*" />
尽管该解决方案在 iOS 中工作并满足 W3C 验证器测试的 HTML 规则,但在 Chrome Android 中提供了带有 QWERTY 键盘的完整键盘。
解决方案 2
<input type="number" pattern="\d*" />
此解决方案适用于 iOS 和 Android Chrome 系统,在两个系统上都显示数字键盘,但它使用 W3C 验证器引发 HTML 验证错误:
仅当输入类型为电子邮件、密码、搜索、电话、文本或 url 时才允许使用属性模式。
解决方案 3
<input type="number" />
该解决方案通过了 W3C HTML 测试,在 Chrome 上显示不错,但在 iOS 键盘上显示了几个不需要的键
解决方案 4
我看到很多开发人员都在使用这个解决方案
<input type="tel" />
但是在 Android Chrome 中它不允许点符号.
(因此没有浮点数),并且键有字母,这是多余的