我正在尝试在javascript中的onbeforeunload事件之后提交表单,但它似乎并不完全正常。或者也许可能是我在代码中做得不好。
在我的javascript中,这是我的代码
function setPopUpWindow(submitForm){
window.onbeforeunload = function () {
if (submitForm == false ) {
return "Unsaved Data would be lost";
document.getElementById("popUpForm").submit();
}
}
}
用户在尝试关闭浏览器后会看到一个警告框。他们点击警告框中的确定后,我希望表单将被提交。
我有理由在单击关闭按钮后提交表单。我希望获得一个退出状态,我将在代码中使用其他东西(我知道如何实现它)。
答案 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?";
}
};