使用Javascript验证日期输入

Mav*_*ick 0 javascript validation date

我的表单中有一个输入字段日期,并希望添加Javascript验证以确保它始终大于今天的日期.我尝试了以下操作,但是当用户单击输入字段并进行更改时,似乎不会调用该函数.

<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>
Run Code Online (Sandbox Code Playgroud)

关于我做错的任何建议?

提前致谢.

jba*_*bey 5

您希望将该validateDate函数分配给该onchange属性,而不是执行该函数并分配其返回值.改变这个:

document.getElementById('...').onChange = validateDate();
Run Code Online (Sandbox Code Playgroud)

对此:

document.getElementById('...').onChange = validateDate;
Run Code Online (Sandbox Code Playgroud)