我一直在與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