【问题标题】:Detect partially filled html5 date input (Chrome)检测部分填充的 html5 日期输入(chrome)
【发布时间】:2016-03-07 01:52:58
【问题描述】:

在 chrome 上使用input type="date",如果日期部分填充,客户想要标记一个字段,即:01/23/yyyy(但如果它为空则不是)。但是,如果填写了日期,chrome 似乎只会触发inputchange。此外,该字段的实际值仍然是一个空字符串。

可能会在focus 之后监听上/下/数字按键,然后在blur 上标记该字段无效,但这显然不太理想。

那么,有没有我不知道的事件可以用来检测这种情况?或者我可以检查的值将返回01/23/yyyy

【问题讨论】:

  • 在输入中添加 required 属性应该会停止提交,除非它是有效的
  • 我们将使用我们自己的验证系统来标记将阻止提交的字段。我编辑了问题以澄清。我知道如何防止提交,只是不知道如何检测情况。
  • css::invalid, input[type='date']:empty { border-color: red; }...你也可以将左侧输入querySelector()
  • 谢谢,但我们不想标记空日期。编辑问题以指定这一点。
  • 这些是可互换的部分:例如:input[type='date']:invalid{ border-color: red; },这是您要查找的 :invalid 部分。

标签: javascript google-chrome events javascript-events html5-input-date


【解决方案1】:

dandavis 的建议效果很好。

我最终只是将$(object).is(':invalid') 添加到了在我们的验证中触发错误的事情列表中,并且起到了作用。

【讨论】:

    猜你喜欢
    • 2015-03-17
    • 2019-11-06
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 2018-12-06
    • 1970-01-01
    相关资源
    最近更新 更多