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

Allow and Prevent postback in javascript in asp.net

本文关键字:javascript net asp      更新时间:2023-09-26

我试图在按钮点击事件中使用java脚本验证日期。如果验证返回false post-back应被阻止,如果返回true post-back则应被允许。

问题是,即使验证返回false,也会发生post-back。。。。。

我是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();");

您忘记指定return

你应该试试:

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

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