[英]Delay page unload after submitting form
是否可以延遲在網頁上調用unload方法的時間? 我有N頁,每頁包含一個表格。 我不希望用戶單擊“提交”按鈕,所以我模擬了通過JavaScript對隱藏的“提交”按鈕的單擊。 每次用戶更改頁面都會激活此功能:
window.onbeforeunload = function() {
document.getElementById('submit_id').click();
}
這不起作用,但是如果我在.click()之后放置了警報
window.onbeforeunload = function() {
document.getElementById('submit_id').click();
alert("submitting form");
}
一切都像魅力。 這是因為警報使表單有時間實際提交數據。 在沒有警報的情況下,頁面將在提交表單之前卸載,因此不會保存更改。
我試圖在.click()之后放置一個虛擬setTimeout
window.onbeforeunload = function() {
document.getElementById('submit_id').click();
setTimeout(console.log("dummy"), 200);
}
但這沒用。 任何幫助或反饋對此將不勝感激。
如果使用jquery,則可以嘗試通過ajax保存。 並且可能將async添加到false,不推薦使用,但如果保存功能確實非常快,則可以在您的示例中使用。
http://api.jquery.com/jQuery.ajax/
這是我的保存方式:
var $form = $('#formId');
$.ajax({
type: "POST",
url: $form.attr('action'),
data: $form.serialize(),
error: function (xhr, status, error) {
// error
},
success: function (response) {
// sucess
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.