我有一个解决方案,可以防止用户意外离开我的注册页面:
大部分代码来自于StackOverflow上的不同问题,我的本地调试页面可以正常工作,所有ASP.Net控件(链接按钮、按钮)都可以点击而不会出现警告,但是当用户尝试关闭窗口或导航离开时,警告就会显示。
然而,当部署到服务器上时,当我点击ASP.Net控件时也会弹出警告(我真的不想在用户单击“保存”按钮时警告他的更改未保存)。现在,我的本地调试页面和服务器之间有一个区别:服务器使用一个带有一些广告的不同MasterPage,但是经过使用Firebug进行调试后(请参见下一段),我看不出这应该有什么区别。
我尝试运行JavaScript代码的不同部分,通过使用Firebug确认所有内容已正确加载(我的第一个猜测是包含$('#aspnetForm')的部分没有被加载,因为这似乎是不同之处),但是根本没有任何改进。警告仍然会在每次单击链接或按钮时弹出。
我主要的问题是,我认为我不完全理解addToPostBack函数的作用,因此无法正确调试它。
这里是否有人有任何想法可能出了什么问题?
我有以下解决方案,可以防止用户意外离开我的注册页面:
var warning = true;
function CheckExit() {
if (warning) {
return "Changes done. Remember to save, blah blah.";
}
}
window.onbeforeunload = CheckExit;
addToPostBack = function (func) {
var old__doPostBack = __doPostBack;
if (typeof __doPostBack != 'function') {
__doPostBack = func;
} else {
__doPostBack = function (t, a) {
if (func(t, a)) old__doPostBack(t, a);
}
}
};
$(document).ready(function () {
$('#aspnetForm').submit(function () {
warning = false;
return true;
});
addToPostBack(function (t, a) {
warning = false;
return true;
});
});
大部分代码来自于StackOverflow上的不同问题,我的本地调试页面可以正常工作,所有ASP.Net控件(链接按钮、按钮)都可以点击而不会出现警告,但是当用户尝试关闭窗口或导航离开时,警告就会显示。
然而,当部署到服务器上时,当我点击ASP.Net控件时也会弹出警告(我真的不想在用户单击“保存”按钮时警告他的更改未保存)。现在,我的本地调试页面和服务器之间有一个区别:服务器使用一个带有一些广告的不同MasterPage,但是经过使用Firebug进行调试后(请参见下一段),我看不出这应该有什么区别。
我尝试运行JavaScript代码的不同部分,通过使用Firebug确认所有内容已正确加载(我的第一个猜测是包含$('#aspnetForm')的部分没有被加载,因为这似乎是不同之处),但是根本没有任何改进。警告仍然会在每次单击链接或按钮时弹出。
我主要的问题是,我认为我不完全理解addToPostBack函数的作用,因此无法正确调试它。
这里是否有人有任何想法可能出了什么问题?