#javascript #html #jquery #date
#язык JavaScript #HTML #jquery #Дата
Вопрос:
Я пытаюсь отключить прошлые даты в input type="date"
. Я могу ограничить предыдущие даты в окне выбора дат. Но когда я набираю любые предыдущие даты в окне выбора даты HTML, я могу сохранять данные, даже если дата уже указана (например, я набираю 12/08/2020).
$(document).ready(function() { //DISABLED PAST DATES IN APPOINTMENT DATE var dateToday = new Date(); var month = dateToday.getMonth() 1; var day = dateToday.getDate(); var year = dateToday.getFullYear(); if (month lt; 10) month = '0' month.toString(); if (day lt; 10) day = '0' day.toString(); var maxDate = year '-' month '-' day; $('#txt-appoint_date').attr('min', maxDate); });
lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt; lt;input type="date" id="txt-appoint_date" /gt;
Комментарии:
1. Когда вы хотите проверить значение входных данных? когда форма отправлена, или когда ввод теряет фокус, или когда пользователь вводит значение,…?
2. Когда форма будет отправлена. Потому что я хочу сохранить значение даты из базы данных.
3. Просто поместите его в тег формы, он автоматически подтвердит, что значение DatePicker больше атрибута min или нет.
Ответ №1:
Вы можете отключить keyboard onkeydown event
.
$(document).ready(function() { //DISABLED PAST DATES IN APPOINTMENT DATE var dateToday = new Date(); var month = dateToday.getMonth() 1; var day = dateToday.getDate(); var year = dateToday.getFullYear(); if (month lt; 10) month = '0' month.toString(); if (day lt; 10) day = '0' day.toString(); var maxDate = year '-' month '-' day; $('#txt-appoint_date').attr('min', maxDate); });
lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt; lt;input type="date" id="txt-appoint_date" onkeydown="return false"/gt;
Комментарии:
1. большое вам спасибо, это работает! lt;3