0
Мне нужно проверить ввод даты, чтобы она попала между (включая) 9/1/2016 и 31/7/2017. Из этой функции я пытаюсь вызвать новую функцию для печати этой даты пользователю. Следующий код, похоже, работает, но вызывает предупреждение (9/1/2016) и не выводит результат с помощью функции Holiday().Подтверждение ввода даты ввода
function validate()
{
var y= document.getElementById("userdate").value;
var x= new Date(y);
var minDate = new Date('09/01/2016');
var maxDate = new Date('08/31/2017');
if (x >= minDate && x <= maxDate){
Holiday();
}
else{
alert('Date must be between 9/1/2016 and 8/31/2017');
}
}
function Holiday() {
var x = document.forms[0].elements[0].value;
var mydate = new Date(x);
txt += "The date that user entered is " + mydate + "<p>";
var day = mydate.getUTCDate();
var month = mydate.getMonth() + 1;
var year = mydate.getFullYear();
document.getElementById("display").innerHTML = "Fomatted date " + month + "/" + day + "/" + year;
}
_ "но вызывает предупреждение для (9/1/2016)" _ - нет, это не так: https://jsfiddle.net/vo0axk10/ – CBroe
Вопросы, о которых нужно подумать: работают ли все браузеры со строкой даты в этом формате передается конструктору 'Date'? Как насчет часовых поясов? Есть ли причина, чтобы избежать современных удобств и кода JS, как в 1998 году? – Sorpigal
Получите дату один раз, а не дважды, используя два разных метода. – LinuxDisciple