2015-11-13 3 views
-5

Мне нужно добавить подтверждение (alertbox), если пользователь выбирает предыдущую дату из календаря.Проверка календаря на предыдущую дату

Сегодняшняя дата 13/11/2015. Если пользователь должен был выбрать 12/11/2015, он должен отображать поле оповещения: "Please enter a valid date."

Я смотрел онлайн и, похоже, не нашел ничего общего с этим.

Можно ли это сделать с помощью javascript?

<input type="date" id="leaveDate"> 
<script> 
    alert("Please enter a valid date."); 
</script> 
+0

Вы пробовали 'Datepicker()' из jQuery UI? – Carlos2W

+0

Простой поиск в Google привел меня к этому: http://stackoverflow.com/questions/8305259/check-if-date-is-in-the-past-javascript – Uilian

ответ

0

Если вы не хотите, чтобы пользователь, чтобы выбрать прошлые даты, то я хотел бы предложить вам, чтобы отключить его, как это с помощью DatePicker:

$("#mydate").datepicker({ minDate: 0 }); 

Однако, если вы намерены сделать предупредительное сообщение а затем поток: Check if date is in the past Javascript делает то, что вы ищете.

+0

Downvoter, пожалуйста, оставьте комментарий! :) –

+0

он должен отображать окно предупреждения с сообщением «Пожалуйста, введите действительную дату». , не то, что ОП спросил:/ – Hacketo

+0

@ Хакетто: - Я знаю, о чем попросил ОП. Infact thats, почему я ответил, сказав «Если вы не хотите, чтобы пользователь выбирал прошлые даты», так как предупреждающее сообщение предназначено только для того, чтобы запретить пользователю вводить прошлые даты. Использование предупреждения кажется мне не очень продуктивным. –

1

Учитывая, что вы хотите получить решение в javascript, вот что вы можете попробовать с помощью функции onchange.

<input type='date' onchange="validateDate()" id='mydate'></input> 

<script> 
function validateDate() { 
    var userdate = new Date(document.getElementById("mydate").value).toJSON().slice(0,10); 
    var today = new Date().toJSON().slice(0,10); 
    if(userdate < today){ 
     alert('Your message'); 
    } 
} 
</script> 

PS: Замените «Ваше сообщение» на текст, который хотите отобразить.

+0

Когда я выбираю сегодняшнюю дату. он дает мне окно предупреждения? Зачем? – Imraanstack2

+0

Упс .. !! Это потому, что мое решение сравнивает текущую дату и время, а не только дату. Позвольте мне обновить решение. –