关于__doPostBack之前截获调用

 

小弟最近要实现一个功能,就是如果改页面被修改,则不能翻页,必须提交本页后才能翻页。

js代码
if ($("#hdnFromSubmit").val() == "1") {
                
return true;
            }
            
else {
                
if ($("#hdnChanged").val() == "1") {
                    alert(
"当前页报价已修改,必须提交本页报价后才能点击翻页。");
                    
return false;
                }
                
else {
                    
return true;
                }
            }

 

需要把该功能加载到form的onsubmit事件。

经过检测发现很有意思的事。

如果使用$("form").submit函数加载这段代码,会发现_doPostBack回发的提交无法触发该事件。

经查是由于自动生成的__doPostBack函数,首先把当前form复制为theForm,然后在form1中加载的js代码就变得无效。

解决方案:

在自动生成_doPostBack函数前将form1的onsubmit修改好。

 

aspnetform
aspnetForm.onsubmit = function() {
            
if ($("#hdnFromSubmit").val() == "1") {
                
return true;
            }
            
else {
                
if ($("#hdnChanged").val() == "1") {
                    alert(
"当前页报价已修改,必须提交本页报价后才能点击翻页。");
                    
return false;
                }
                
else {
                    
return true;
                }
            }
        };

 

 

posted @ 2009-11-24 10:21  zeus2  Views(392)  Comments(0Edit  收藏  举报