过去两天我一直在与 javascript 中邪恶的 onbeforeunload 函数作斗争。我有一个功能可以在用户即将关闭页面时发出警告。但是,在页面关闭之前,我想使用 javascripts .submit() 提交表单。
这是我的代码
function setPopUpWindow(submitForm){
window.onbeforeunload = function () {
if (submitForm == false ) {
//alert("It worked"); --This code gets called so I know it works
document.getElementById("CancelScripting").submit();
//return "Unsaved Data would be lost";
}
}
}
在我的 html 中,我有两个按钮,一个是(应该)触发 .submit() ,另一个将忽略它。
<body>
<form action=tett.html id="popUpForm" method=POST>
<script>setPopUpWindow();</script>
<input type="submit" id="submit_button" onclick="setPopUpWindow(true);">
<input class=b1 type=submit id="CancelScripting" style="visibility:hidden" value="CancelScripting" >
</body>
未定义第二个输入的 setPopWindow 值,因此它将为 false 出于某种原因,提交无法正常工作。
----------------------编辑我的问题---------- ------------------------- 即使用户通过关闭窗口上的“X”按钮离开页面,我也想提交表单。这就是我有隐藏按钮的原因......看起来人们误解了我的问题。