2016-01-12 32 views
-1

我想從用戶那裏獲得確認信息,以便在頁面關閉前用confirm()javascript函數保存表單。如果用戶按Ok按鈕,運行保存表單動作,如果按下取消按鈕,然後關閉頁面。確認用戶在頁面關閉之前通過jquery提交表單

對於我這樣寫:

window.onbeforeunload = function() { 
    if (confirm('Are you want to save Form ?')){ 
     //saveActions 
    } 
    return 'You have unsaved changes!'; 
} 

onbeforeunload爲window對象事件不運行確認()函數僅僅指剛它與字符串自己的確認對話框,旁邊回報指令。

我該怎麼做?

+1

你不能用'confirm'或'alert'內'onbeforeunload'。許多瀏覽器甚至不會使用返回的字符串作爲顯示。這個函數在很多年前被濫用了,其中很少有你可以做的 – charlietfl

+1

[confirm()on window.onbeforeunload](http://stackoverflow.com/questions/12132060/confirm-on-window-onbeforeunload ) –

+1

當用戶試圖關閉標籤時,請不要使用彈出窗口!這是最糟糕的技術之一。當你試圖關閉一個標籤,但彈出窗口試圖阻止你時,這太令人討厭了。相反,如何通過AJAX或本地內存自動保存,或通過檢查指針位置(大多數用戶單擊標籤或窗口框中的x)來檢測退出意圖。另外請記住,大多數瀏覽器記住你在表單中輸入的內容。 –

回答

1

這是自然的行爲。

window.onbeforeunload在操作中受到限制,以防止它被利用。

最終關閉操作後,勸阻或輪詢用戶的意見是一種不好的做法。

嘗試選項,如定期保存數據,具有內「關閉」按鈕等

相關問題