0

我试图在按钮单击事件上使用 java 脚本验证日期。如果验证返回错误的回发应该被阻止,如果返回真正的回发应该被允许。

问题是即使验证返回 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>

我在页面加载事件中调用了 javascript

this.btnSave.Attributes.Add("onClick", "ValidateDate();");
4

1 回答 1

2

你忘了指定return

你应该尝试:

this.btnSave.Attributes.Add("onClick", "return ValidateDate();");

您正在从 ValidateDate() 返回值,因此对于这种情况,您需要在函数调用时指定它,当它返回 false 时,它​​会进一步停止执行。

于 2012-04-07T08:26:08.837 回答