【发布时间】:2016-03-07 01:52:58
【问题描述】:
在 chrome 上使用input type="date",如果日期部分填充,客户想要标记一个字段,即:01/23/yyyy(但如果它为空则不是)。但是,如果填写了日期,chrome 似乎只会触发input 或change。此外,该字段的实际值仍然是一个空字符串。
可能会在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