用于验证输入日期的Javascript

时间:2013-04-20 18:23:17

标签: javascript jquery html

我是Javascript编程的新手,我正在尝试通过从外部<input>文件获取的日历代码段验证输入Javascript的日期。我正在尝试验证日期以检查用户是否输入了过去的日期。如果输入的日期是过去的日期,那么我需要打印一条警告消息,以便在将来的时间段内输入有效日期。

我接受以下HTML代码中的输入日期字段:

<input size="12" id="inputField" name="inputField"  autofocus="" type="date"     oninput="return dateValidate(inputField)"/>

我验证输入日期的Javascript函数是:

<script type="text/javascript">
function dateValidate(inputField)
{

 var v2 = document.getElementById('inputField');
 var pickeddate = new Date(v2.Value);
 todayDate = new Date();
 if(pickeddate > todayDate){
    return true;
 } else {
    alert("Enter a valid Date");
 }
}

但是这段代码似乎没有用。我希望在<input>字段中输入过去日期并运行标签时运行此Javascript函数。我希望在字段中输入日期时验证日期,而不是在提交表单时验证日期。

2 个答案:

答案 0 :(得分:4)

由于代码中存在问题,因此无效,只需替换它:

var pickeddate = new Date(v2.Value);

用这个:

var pickeddate = new Date(v2.value);   // 'value' should be in lower case

由于它不正确,pickeddate始终为undefined且代码无效。

答案 1 :(得分:2)

你可以试试这个

<强> HTML

<input size="12" id="inputField" name="inputField"  autofocus="" type="date"     onblur="return dateValidate(this)"/>

<强> JS

function dateValidate(inputField)
{
    var pickeddate =  new Date(inputField.value);
    var todayDate =  new Date();
    if( pickeddate > todayDate )
    {
       return true;
    }
    else
    {
        alert("Enter a valid Date");
    } 
}

DEMO.