1

我有提交按钮 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;
}
4

1 回答 1

0

我不确定您的代码中出现问题的原因,但是在这种卸载确认方面遇到了麻烦,这是我采取的路线:

设置一个全局变量来指示是否发出消息:

var ConfirmPageExit = true;
window.onbeforeunload = function(){ return (ConfirmPageExit) ? unloadMessage : null;  };

现在,任何退出尝试都会触发您的消息。然后,在您想用来关闭消息的任何内容上,只需将该 var 设置为 false:

$('#submit_marksheets').live('click', function() {
    ConfirmPageExit = false;
});
于 2011-04-19T15:53:25.783 回答