1

その前にマークを送信する送信ボタンsubmit_marksheetsがあり、確認を求められます。

もう1つ、変更が行われ、ユーザーが別のページをクリックすると、「変更の保存」の確認が求められます。

私が以下に与えたこれらのコード。問題は、マークシートの送信ボタンをクリックすると警告が表示されることです。しかし、他のページをクリックした後、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 に答える