在javascript中的onbeforeunload事件之后提交表单

时间:2012-08-14 13:31:59

标签: javascript javascript-events

我正在尝试在javascript中的onbeforeunload事件之后提交表单,但它似乎并不完全正常。或者也许可能是我在代码中做得不好。

在我的javascript中,这是我的代码

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

}

}

用户在尝试关闭浏览器后会看到一个警告框。他们点击警告框中的确定后,我希望表单将被提交。

我有理由在单击关闭按钮后提交表单。我希望获得一个退出状态,我将在代码中使用其他东西(我知道如何实现它)。

1 个答案:

答案 0 :(得分:2)

为了达到你想要的目的,你将不得不做一些丑陋的事情:

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?";
  }
};