2015-11-18 2 views
0

Я стартер в JavaScript:Javascript функция (дата ввода больше, чем дата сегодня)

Мне нужна функция, которая определит, если пользовательский ввод даты .. и предупредить его, если дата меньше чем дата сегодня .. .

HTML:

<input type="date" name="StartDate" id="userdate" required /> 

JavaScript Я пытался (не работал, конечно):

function TDate() { 
var UserDate = document.getElementById("userdate").value; 
var ToDate = Date.now(); 
if (UserDate != ToDate) { 
    alert("The Date must be Bigger or Equal to today date") 
    return false; 
} 
return true;} 
+0

Какой формат является датой пользователя? Что сегодня вы хотите? Сегодня пользователи или ваши, возможно, разные сегодня? –

+0

система или сервер сегодня .... пример: пользовательский ввод 17/11/2015 , но сегодня в сервере или в системной даты: 18/11/2015 мне нужна функция, чтобы предупредить пользователя о том, что он вставил ограниченную дату и сфокусировался на дате, чтобы изменить ее –

+0

любезно отметим лучший ответ :) –

ответ

2

я создал скрипку

https://jsbin.com/jidogo/edit?html,js,output

<input type="date" name="StartDate" id="userdate" onchange="TDate()" required /> 

JS

function TDate() { 
    var UserDate = document.getElementById("userdate").value; 
    var ToDate = new Date(); 

    if (new Date(UserDate).getTime() <= ToDate.getTime()) { 
      alert("The Date must be Bigger or Equal to today date"); 
      return false; 
    } 
    return true; 
} 
+0

это хорошо ,,, но когда я вставляю дату вручную, он начинает оповещение с первого значения в разделе года .... Я думаю, что ему нужна кнопка и событие (onclick) ... правильно? –

+0

На самом деле я сделал это раньше, но потом изменил, так как ожидал, что вам нужно проверить правильность изменений, но вы правы, добавьте кнопку типа '' и удалите атрибут onchange из вход –

+0

спасибо за помощь :) –

0

Я предполагаю, что вы можете получить выбранный объект Date на var selectedDate = document.getElementById("userdate").value. Тогда вы можете сравнить две даты, как сравнить 2 целое число:

function TDate() { 
    var selectedDate = document.getElementById("userdate").value; 
    if (selectedDate < Date.now()) { 
     alert("The Date must be Bigger or Equal to today date") 
     return false; 
    } 
    return true; 
} 
+0

вы проверили этот код? –

0

Я думаю, это было бы чище чем другие ответы благодаря Juank:

var now = new Date(), 
    minDate = now.toISOString().substring(0,10); 

$('#my-date-input').prop('min', minDate); 
Смежные вопросы