2012-09-24 46 views
0

我正在构建一个HTML页面,以便在移动Safari [和其他平台]中查看。该页面允许用户指定几个开始和结束时间。他们必须输入至少两次,可能更多取决于他们的情况。强制使用数字键盘,但允许标点符号:HTML5,移动Safari

我希望用户能够输入他们的倍使用数字-SHIFT模式键盘数字和标点符号,即用户将看到的字段是这样的:

form fields

,让对方数字-SHIFT键盘,当他们集中进入该领域:

enter image description here

将不起作用:

<input type="time">(和相关的日期时间类型)不是一个选项。从HCI的角度来看,滚动轮是不可接受的,特别是对于重复输入。

<input type="number">起初做对了。它以数字SHIFT模式触发键盘,即数字&默认情况下是可见的。但是当您退出该领域时,移动Safari会去掉标点符号(即冒号)。我尝试使用novalidate关闭表单中的验证,但那不起作用。

<input type="text" pattern="[0-9]*">触发电话键盘无法输入冒号字符。

我可能只需要PATTERN属性中的一个不同的RegExp,但我尝试过的每一个都会触发正常的Alpha键盘,用户必须按一个键才能进入数字SHIFT键盘。

任何人都可以告诉我如何强制键入数字SHIFT显示,而不触发用户的输入严苛的验证规则?

回答

1

看看jQuery Mobile DateBox。 here。有可能你可能想重新考虑这里的文本输入。也许你想用一个选择器去。 Sencha Touch也有一个DatePicker。我写了一个实现timepicker对象的扩展。如果你需要我,我会把它放在GitHub上。

+0

这很有帮助,谢谢。拆分成几个不同的字段(每个字段都是数字)可能比不必纠缠键盘类型更好,因为似乎不可能将设备“默认为此键盘”。不过,从HCI/Fitts的角度来看,日期选择器通常仍然很残酷。 : - / – ElBel

相关问题