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