【发布时间】:2014-05-02 11:30:02
【问题描述】:
我想在触摸设备上为邮政编码和社会保险号输入字段自动启动数字键盘。邮政编码以五位数格式输入,而 SSN 以 111-22-3333 输入。我的理解是 type=number 和 type=tel 字段会自动启动适当的键盘,所以这些输入看起来很合适,但我不确定它们是正确的选择。
Type=Number
我最初认为 type=number 将是最佳解决方案(因为它在语义上听起来是正确的),但后来发现这种类型实际上只适用于真数字而不是数字字符串。我看到博客文章自动指责浏览器,包括逗号作为千位分隔符,并在提交时去除前导零(两者都不适合 zip/ssn)。
Type=电话
根据我的阅读,这似乎是解决我的问题的最佳方法。不过,我担心这种新类型的含义。我真的应该使用电话字段作为邮政编码和 ssn 吗?如果某些手机制造商决定开始显示 tel 字段的地址簿怎么办?这对于 zip 或 ssn 来说毫无意义。
替代品
我发现 type=text 输入的新模式属性可用于触发 iOS 设备上的数字键盘,但这只能部分解决问题。
我还发现了一个新属性inputMode,这似乎是理想的解决方案,但似乎还没有被任何浏览器实现。
问题
我希望有人提出建议或最佳做法?我应该使用电话吗?我应该使用 iOS 解决方案并忽略其他设备吗? inputMode 会起作用吗?
【问题讨论】:
标签: html keyboard numbers html-input tel