2010-01-30 66 views
0

我正在使用php開發一個網站。在不保存修改的情況下導航警報

我想顯示一條消息,如JavaScript警報,當用戶試圖編輯或添加表單中的某些東西,並試圖導航到其他部分而不保存修改,我想向他們顯示一條消息,

您即將從此頁面導航,您的修改不會保存,您是否想要繼續?

我該怎麼做?

任何一個有想法???請與我分享吧..

感謝

回答

4

使用beforeunload事件。僞代碼:

window.onbeforeunload = function(e){ 
    e = e || window.event; 
    // check if the user has edited sth 
    if(userHasEditedSomething()){ 
     var msg = "You have unsaved changed. Do you want to navigate away from this page?"; 
     e.returnValue = msg; 
     return msg; 
    } 
} 

你的任務是落實userHasEditedSomething功能,當用戶有未保存的更改(填寫的表單字段),將返回true,否則爲false。

大多數瀏覽器都支持本次活動

+0

這是什麼 如果(userHasEditedSomething() 什麼userHasEditedSomething()???? – 2010-01-30 09:08:10

+1

正如我在答覆中提到,該代碼是僞代碼和userHasEditedSomething是一個必須實現的函數,如果用戶未保存更改將返回true,否則返回false。當然,如果用戶嘗試卸載頁面,則可以跳過整個if和顯示消息。 – Rafael 2010-01-30 09:21:09

+1

對不起在我的回答中提到這個問題 – Rafael 2010-01-30 09:24:27

相關問題