2012-11-13 36 views
1

在Safari瀏覽器中,在具有表單的頁面上,當用戶嘗試關閉瀏覽器的選項卡並且未驗證表單時,會打開一個系統模式彈出窗口。文字說:您在「[頁面名稱]」上輸入了文字。如果關閉該窗口,您的更改將會丟失。無論如何你想關閉窗戶嗎?使用AJAX提交表單時關閉選項卡上的Safari彈出框

當帖子重定向到其他頁面時,這種行爲是確定的。在我們的網站上,我們有一個使用Ajax請求驗證表單的頁面。由於頁面沒有被重新加載,即使表單已經被提交,彈出窗口也會出現,並且最終用戶可能會覺得很奇怪。

該柱通過一個按鈕觸發:

  1. 形式使用jQuery Validation plugin
  2. 插件地點包括submitHandler選項return false;
  3. 日期經由$.post發送驗證,和一條消息,通知用戶用於成功/失敗。

有沒有人有一個關於如何避免這個彈出窗口一旦被調用返回的想法?在這種情況下,我們不希望強制重新加載。

請注意,這種行爲可以changed by the user,但不是很容易...

回答

0

我不能在Windows上的Safari複製本。

也許嘗試清空/重置輸入字段一旦表單已被提交,只有當沒有任何錯誤的提交當然,或者更好的是,完全刪除表格,如果它不需要後。當然使用DOM操作,而不是通過重新加載頁面。

在附註中,發送完成後的表單(即使您顯示確認信息)也可能對用戶來說很奇怪(除非它是多用表單並且預期會出現此行爲)。

更新:在Mac Safari上進行測試,它的行爲與您所描述的相同,但如果我刪除鍵入的內容(使瀏覽器首先提醒我),則不會出現。所以,簡單的字段重置應該能夠做到。

+0

謝謝,這些是我們可能探索的想法,以及其他一些。只要我們有結果,我們會盡快更新問題。 – Olivier

+0

有沒有人有解決方案,這不涉及清空它們,這可能導航到browserHistory.push同一頁面?因爲我認爲在表單顯示事物的當前狀態的情況下,這是一種可怕的用戶體驗。 – Zargold