1

javascript で onbeforeunload イベントの後にフォームを送信しようとしていますが、うまく機能していないようです。または、コードでうまくやっていない可能性があります。

私のjavascriptでは、これは私が持っているコードです

function setPopUpWindow(submitForm){
window.onbeforeunload = function () {
    if (submitForm == false ) {
    return "Unsaved Data would be lost";
    document.getElementById("popUpForm").submit();
    }

}

}

ユーザーがブラウザを閉じようとすると、警告ボックスが表示されます。アラート ボックスで [OK] をクリックした後、フォームが送信されることを期待しています。

閉じるボタンをクリックした後にフォームを送信したいのには理由があります。コード内の他の何かに使用する終了ステータスを取得したい (どのように実装するかについて考えている)。

4

1 に答える 1

4

あなたが望むものを達成するために、いくつかの醜いことをしなければならないでしょう:

var saveBeforeUnload = false;
setInterval(function() {
  if (saveBeforeUnload) {
    saveBeforeUnload = false;
    document.getElementById("popUpForm").submit();  
  }
}, 500);

window.onbeforeunload = function() {
  if (submitForm == false) {
    saveBeforeUnload = true;
    return "Don't you want to save before leaving this page?";
  }
};
于 2012-08-14T13:45:35.290 に答える