我一直在与javascript的邪恶onbeforeunload函数在过去两天作战。我有一个功能在用户即将关闭页面时发出警告。 但是在页面关闭之前,我想使用javascripts .submit()提交表单。使用javascript提交表单
这是我的代码
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值没有定义,因此这将是错误的 出于某种原因,提交都不尽如人意。
------------------------编辑到我的问题------------------ ----------------------------- 即使用户通过关闭“X”来离开页面,我也想提交表单,按钮在他们的窗口。这就是为什么我有隐藏的按钮...看起来像人们误解我的问题。
如果没有表格,然后提交正在使用的输入为什么类型?这可以通过输入类型按钮来完成。 JavaScript API中不存在名为'submit()'的函数。 – Amareswar 2012-08-14 18:04:59
有一种形式。我只是没有将其包含在我的代码粘贴中。我想人们会认为这是一种形式。我将解决它以澄清 – tawheed 2012-08-14 18:06:44
如果您对您期望发生的事情以及发生的事情有更具体的了解,这将有所帮助。如果您发布了jsfiddle,它也可能有所帮助。 – 2012-08-14 18:07:17