如果输入不正确,HTML 输入类型日期有时会是空值

Bàn*_*rần 4 html javascript jquery google-chrome

我的 type=date 输入发生了一件疯狂的事情:

function getValue() {
  $('#entered').text($('input[name=test_date]').val());  
}
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

如果我输入无效值,它将自动更改为有效值,但并不总是真实的日期。最大日期始终为 31。

前任:

  • 输入:“01/55/2018”=>“01/31/2018”——正确
  • 输入:“02/55/2018”=>“02/31/2018”——错误

并且在False的情况下,jQuery或PHP都无法获取该值。它总是会回来""

我想获得价值,即使它是无效的。您有什么建议吗?

yrv*_*v16 5

来自HTML Living Standard文档:

value 属性(如果指定且不为空)的值必须是有效的日期字符串。

值清理算法如下:如果元素的值不是有效的日期字符串,则将其设置为空字符串。