1

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

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

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

}

}

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

我想在他们点击关闭按钮后提交表单是有原因的。我想获得一个退出状态,我将在我的代码中使用它(我知道我将如何实现它)。

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 回答