Есть странная вещь с типом ввода даты.
Вот мой 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" => "31/31/2018" - True
Введите: "55/02/2018"=>" 31.02.2008 "- False
И в случае False jquery или php не могут получить значение.
Он всегда возвращает "".
Я хочу получить значение, даже если оно недействительно.Есть ли у вас предложения?
================== Проблема решена Согласно http://crbug.com/231811, причина в простоте.Если вы хотите показать сообщение об ошибке, когда пользователь вводит недопустимую дату.Вы можете проверить с помощью input.validity.badInput или validationMessage