我是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函数。我希望在字段中输入日期时验证日期,而不是在提交表单时验证日期。
答案 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");
}
}