2013-07-29 52 views
0

我創建了以下jsfiddlewindow.onbeforeunload不按預期方式工作

如果您在任何編輯框中輸入任何輸入,並嘗試離開頁面,則會顯示警告信息。

如果您輸入任何輸入並單擊該按鈕,當不需要時仍會顯示警告。 (我需要阻止它顯示)。

在網頁中,似乎window.onbeforeunload比單擊事件之前被拋出,因此即使您單擊提交按鈕,它也將始終顯示警告對話框。

它讓我覺得代碼應該改變,以處理事件的時間,但不知道?

+0

什麼click事件你在說什麼?在你的小提琴沒有發生'window.onbeforeunload'事件? – putvande

回答

1

這聽起來像你想要做的是防止在提交表單時顯示onbeforeunload消息。

只需添加一個submit處理程序,該處理程序將form_has_been_modified值返回爲false。

$("#additemform").on('submit', function(e) { 
    form_has_been_modified = false; 
}); 

Working Demo

在這個演示中,我還清理你的榜樣,去除不必要的處理和改變form_has_been_modified使用本地布爾truefalse而不是0和1

+0

謝謝,我已經更新了這裏的小提琴http://jsfiddle.net/5D9qh/17/你可以看到,在輸入值並點擊提交後,它仍然顯示警告。 – Athanatos

+0

您正在使用哪種瀏覽器?我在提交表單時看不到消息;我正在使用Chrome 28. – cfs

+0

IE10和Mozilla 22.0,我已經在CHROME中測試過了,它按預期工作(我沒有看到這個消息)。 – Athanatos