关于__doPostBack之前截获调用
小弟最近要实现一个功能,就是如果改页面被修改,则不能翻页,必须提交本页后才能翻页。
js代码
if ($("#hdnFromSubmit").val() == "1") {
return true;
}
else {
if ($("#hdnChanged").val() == "1") {
alert("当前页报价已修改,必须提交本页报价后才能点击翻页。");
return false;
}
else {
return true;
}
}
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;
}
}
};
aspnetForm.onsubmit = function() {
if ($("#hdnFromSubmit").val() == "1") {
return true;
}
else {
if ($("#hdnChanged").val() == "1") {
alert("当前页报价已修改,必须提交本页报价后才能点击翻页。");
return false;
}
else {
return true;
}
}
};