【发布时间】:2012-09-24 22:51:35
【问题描述】:
我正在构建一个 HTML 页面,以便在移动 Safari [和其他平台] 中查看。该页面允许用户指定几个开始和结束时间。他们必须至少输入两次,并且可能更多,这取决于他们的情况。
我希望用户能够使用数字 SHIFT 模式键盘将时间作为数字和标点符号输入,即用户将看到如下字段:
当他们专注于该字段时,他们将获得数字 SHIFT 键盘:
不起作用:
<input type="time">(和相关的日期时间类型)不是一个选项。从 HCI 的角度来看,滚轮是不可接受的,特别是对于重复输入。
<input type="number"> 一开始就做对了。它在数字移位模式下触发键盘,即默认情况下数字和标点部分是可见的。但是当您退出该字段时,移动 Safari 会删除标点符号(即冒号)。我尝试使用novalidate 关闭表单中的验证,但没有奏效。
<input type="text" pattern="[0-9]*"> 触发电话键盘无法输入冒号。
我可能只需要在 PATTERN 属性中使用不同的正则表达式,但我尝试过的每个正则表达式都会触发普通的字母键盘,并且用户必须按一个键才能进入数字 SHIFT 键盘。
谁能告诉我如何在不触发用户输入的严格验证规则的情况下强制键盘进入数字 SHIFT 显示?
【问题讨论】:
标签: html mobile-safari