我有提交按钮submit_marksheets,它在此之前提交标记,它会要求确认。
我还有一件事是,每当进行更改并且用户单击另一个页面时,它都会要求“保存更改”确认。
我在下面给出了这些代码。问题是当我单击提交标记表按钮时,它会发出警告。但是当我点击其他页面后, onbefore unload 不会被调用。我不知道为什么。
谁能告诉我如何解决这个问题?
$(':input', document.frmMarksheets).live("change", function() {
$('#submit_marksheets').live('click', function() {
setConfirmUnload(false);
return true;
});
setConfirmUnload(true);
});
function setConfirmUnload(on) {
window.onbeforeunload = (on) ? unloadMessage : null;
}
最佳答案
我不确定您的代码中出现问题的原因,但在这种卸载确认方面遇到了麻烦,这是我采取的路线:
设置一个全局变量作为是否发出消息的指示器:
var ConfirmPageExit = true;
window.onbeforeunload = function(){ return (ConfirmPageExit) ? unloadMessage : null; };
现在,任何退出尝试都会触发您的消息。然后,在您想要用来关闭消息的任何内容上,只需将该 var 设置为 false:
$('#submit_marksheets').live('click', function() {
ConfirmPageExit = false;
});
关于Javascript onbeforeunload Jquery 事件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5718278/