【问题标题】:Chrome input[type=date] keyboard entryChrome 输入[type=date] 键盘输入
【发布时间】:2013-11-27 13:08:32
【问题描述】:

我真的很喜欢 Chrome(和 Opera)通过内置日期选择器支持 input[type=date] 的方式,但似乎大多数访问我的网站的人手动输入日期而不是使用日期选择器。这完全受支持,但当他们键入速度不够快时,该字段会将条目解释为新条目。

示例:您尝试输入出生日期mm/dd/yyyy。月份和日期通常没有问题,但到了年份,进入 1986 年,中间稍微停顿一下,最终得到 0086。

问题:有没有办法在它重置之前延长允许的暂停时间?对于我的客户来说,这只是一小部分。

【问题讨论】:

  • 您可以尝试使用属性:autocomplete="off" 吗? w3.org/TR/html-markup/…
  • 不幸的是 autocomplete="off" 什么也没做,但感谢您的尝试
  • AFAIK,没有办法控制它。请给crbug.com/232296加星

标签: html google-chrome date


【解决方案1】:

我同意 int32_t (comment),恕我直言,你最好只实现一个 jquery 或其他插件作为默认值来帮助你输入日期......这种方法的三个原因:

  1. 与 HTML5 日期选择器相反,它不是主题化的,jquery ui 日期选择器是。这可以为您的用户提供统一的用户体验,否则在不同的浏览器上会有所不同。它也将更容易测试,因为这些在几乎每个浏览器上都应该是一样的。我并不是说你不应该在其他浏览器上进行测试,但应该不会那么痛苦...... :)

  2. 如果您想确保大多数用户满意,您可能最终会编写回退机制...只要您必须提供回退,我看不出有很多理由不这样做使用此后备作为默认设置,因为它们在比 HTML5 更多的情况下工作......

  3. 像 JQuery 这样的库是为跨浏览器的统一方法而编写的。它们抽象了问题,因此您不应该考虑使用不同的方法来处理不同的浏览器来处理诸如事件或用户输入之类的直截了当的内容。因此,他们可以决定是否使用 HTML5 输入...

我知道这并不能回答你的问题,但是写在 cmets 中太长了... :)

【讨论】:

  • 你是对的,这不是答案。我很欣赏你的诚实意见,但我不同意。是的,对于那些不支持 HTML5 输入[type=date] 的浏览器,我们确实有一个后备 js 日期选择器,但我们不希望我们的移动访问者在他们的浏览器完全能够向他们显示设备的默认 datpicker 时遇到这个问题.
  • 哇,我实际上并没有考虑移动用户,但你有一个有效的观点......如果我可以问一下,你使用的是哪个后备日期选择器?
【解决方案2】:

幸运的是,这已在 Chrome 和 Opera 中得到修复

【讨论】:

  • 你能分享参考吗?它对我来说仍然失败。
猜你喜欢
  • 2015-06-25
  • 1970-01-01
  • 2013-10-30
  • 2017-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-09
  • 2011-02-15
相关资源
最近更新 更多