在asp.net中允许和阻止javascript中的回发

时间:2012-04-07 08:19:11

标签: c# javascript asp.net

我试图在按钮点击事件上使用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();");

1 个答案:

答案 0 :(得分:2)

您忘了指定return

你应该尝试:

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

您正在从ValidateDate()返回值,因此对于这样的条件,您需要在函数调用时指定它,当它返回false时,它会进一步停止执行..