【发布时间】:2017-08-04 23:16:25
【问题描述】:
一旦年份有 4 位数字,我希望日期输入停止输入。我尝试使用 HTML 中的 min 和 max 组件,但它仍然允许您键入擦除第一个数字。请参见示例 1。
请参阅示例 2,了解可以输入 4 位以上的年份。
这是我的两个测试运行,我还尝试使用 HTML 中的“onchange”组件创建一个带有 JS 的方法,但我尝试过,但这似乎都不起作用......
https://fiddle.jshell.net/jaelsvd/98xww3qg/9/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Example 1</label>
<input id="date1" type="date" min="1990-12-31" max="2050-12-30">
<br />
<label>Example 2</label>
<input id="date2" type="date" />
【问题讨论】:
-
使用
onkeypressJavaScript 事件重试。当您在输入中键入时,onchange事件不会触发。 -
@GramThanos——如果输入不会导致按键事件被调度(比如使用鼠标粘贴),该怎么办?
-
@RobG 是的,这也是个问题。所以...有人可以使用所有事件:P
-
onkeypress 的问题在于它没有正确检测到我年份的值。可能是因为它甚至在检测到日期的实际值之前就触发了该方法。 :P 我希望它像 maxlenght=8 一样简单,哈哈
标签: javascript jquery html validation date