使用Javascript验证日期输入
我的表单中有一个输入字段日期,希望添加Javascript验证,以确保其始终大于今天的日期。我尝试了以下方法,但当用户单击输入字段并进行更改时,该函数似乎没有被调用使用Javascript验证日期输入,javascript,validation,date,Javascript,Validation,Date,我的表单中有一个输入字段日期,希望添加Javascript验证,以确保其始终大于今天的日期。我尝试了以下方法,但当用户单击输入字段并进行更改时,该函数似乎没有被调用 <input type="text" name="InsertRecordGuestOrders_Delivery_date" id="InsertRecordGuestOrders_Delivery_date" value=""/> <script type="text/javascript"> fun
<input type="text" name="InsertRecordGuestOrders_Delivery_date" id="InsertRecordGuestOrders_Delivery_date" value=""/>
<script type="text/javascript">
function validateDate()
{
var del_date = document.getElementById('InsertRecordGuestOrders_Delivery_date').value;
if (Date.parse(del_date) < Date.now()) {
document.getElementById('InsertRecordGuestOrders_Delivery_date').value = '';
alert("Delivery date has to be later than today");
}
}
document.getElementById('InsertRecordGuestOrders_Delivery_date').onChange = validateDate();
</script>
函数validateDate()
{
var del_date=document.getElementById('InsertRecordGuestOrders_Delivery_date')。值;
if(Date.parse(del_Date)
对我做错了什么有什么建议吗
提前感谢。您希望将
validateDate
函数分配给onchange
属性,而不是执行该函数并分配其返回值。更改此项:
document.getElementById('...').onChange = validateDate();
为此:
document.getElementById('...').onChange = validateDate;
您希望将
validateDate
函数分配给onchange
属性,而不是执行该函数并分配其返回值。更改此项:
document.getElementById('...').onChange = validateDate();
为此:
document.getElementById('...').onChange = validateDate;
这一行:
document.getElementById('InsertRecordGuestOrders_Delivery_date').onChange = validateDate();
应该是:
document.getElementById('InsertRecordGuestOrders_Delivery_date').onchange = validateDate;
请注意,括号已消失。如果立即调用它,则将validateDate()
的返回值指定为onchange处理程序。您希望将函数本身指定为处理程序,而不是函数的返回值
此外,它应该是onchange
,而不是onchange
此行:
document.getElementById('InsertRecordGuestOrders_Delivery_date').onChange = validateDate();
应该是:
document.getElementById('InsertRecordGuestOrders_Delivery_date').onchange = validateDate;
请注意,括号已消失。如果立即调用它,则将validateDate()
的返回值指定为onchange处理程序。您希望将函数本身指定为处理程序,而不是函数的返回值
此外,它应该是
onchange
,而不是onchange
使用document.getElementById(“…”).onchange=validateDate;泰米尔语-感谢您的快速回复!非常感谢。可能重复使用document.getElementById(“…”).onChange=validateDate;泰米尔语-感谢您的快速回复!我很感激。可能是Jbabey的副本-谢谢你的回答和解释。谢谢你的回答和解释。谢谢你的解释,特雷弗!顺便说一下,很好地抓住了“onchange”。我在JSFIDLE中试用了它,直到我更改了“onChange”->“onChange”之后它才起作用。谢谢你的帮助!再次感谢!谢谢你的解释,特雷弗!顺便说一下,很好地抓住了“onchange”。我在JSFIDLE中试用了它,直到我更改了“onChange”->“onChange”之后它才起作用。谢谢你的帮助!再次感谢!