我试图在按钮点击事件上使用java脚本验证日期。如果验证返回错误,应该阻止回发,如果返回true,则应允许回发。
问题是,即使验证返回false,也会发生回发.....
我是javascript的新手。请给我任何解决方案.....
这是我的代码
<script type="text/javascript">
function ValidateDate() {
var GridView = document.getElementById('GridView1');
var i = 1;
var rows = GridView.rows.length;
for (var j = 0; j < rows - 2; j++) {
i = i + 1;
var FromDate = new Date(document.getElementById('GridView1_ctl0' + i + '_txtFrom').value);
var ToDate = new Date(document.getElementById('GridView1_ctl0' + i + '_txtTo').value);
if (ToDate < FromDate) {
document.getElementById('GridView1_ctl0' + i + '_txtFrom').focus();
alert('ToDate is less than from date');
return false;
}
}
return true;
}
</script>
我在pageload事件上调用了javascript
this.btnSave.Attributes.Add("onClick", "ValidateDate();");
答案 0 :(得分:2)
您忘了指定return
你应该尝试:
this.btnSave.Attributes.Add("onClick", "return ValidateDate();");
您正在从ValidateDate()返回值,因此对于这样的条件,您需要在函数调用时指定它,当它返回false时,它会进一步停止执行..