输入类型日期有一个疯狂的事情。
这是我的html:
function getValue() {
$('#entered').text($('input[name=test_date]').val());
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" min="2018-01-01" max="2018-05-05" name="test_date">
<button onclick="getValue()">Get value</button>
<p>Entered: <span id="entered"></span></p>
如果我输入无效值,它将自动更改为有效值。
但并非总是如此。最大日期始终为 31。
例如:
输入:“01/55/2018”=>“01/31/2018”--正确
输入:“02/55/2018”=>“02/31/2018”--错误
如果为 False,jquery 或 php 都无法获取该值。
它总是返回“”。
即使它无效,我也想获得价值。
你有什么建议吗?
==================
问题已解决
根据http://crbug.com/231811,原因很简单。
如果您想在用户输入无效日期时显示错误消息。
您可以使用 input.validity.badInput 或 validationMessage 进行验证