2011-08-29 131 views
1

我想在用戶切換到另一頁面時放棄表單中的更改時提醒用戶。使用html'confirm'方法是否被認爲是良好的做法?

if (!confirm("Are you sure")) return false;...類型的消息被認爲是良好的做法? 我應該使用一個模式面板嗎? (更多工作)

謝謝!

+0

那麼這是一個意見問題。我不介意爲此目的的內置確認,儘管我會讓實際消息比您的示例更有意義。 – nnnnnn

+0

我總是使用確認來達到這種目的。 – Zlatev

+0

謝謝你們。我決定這是一種意見,並投票結束我自己的問題:-) – Ben

回答

1

有兩件這樣的問題:

  1. 如果使用confirm()被認爲是很好的做法。
  2. 如果這樣可以防止用戶離開頁面。

判斷第一部分的兩個原則是:(1)永不丟棄用戶輸入和(2)不停止用戶的流動。 confirm()對話框是模態的,這意味着它們阻止用戶進入他們的軌道。他們被迫回答這個問題而沒有繼續前進。一般來說,這是不好的。如果你能以不阻止用戶流量的方式來實現,那就更好了。 (例如,將輸入存儲在cookie中或服務器上,或者通過電子郵件向用戶發送鏈接以稍後完成表單。)如果找不到其他方式,模式對話框可能會比丟失輸入的數據更好。

對於第二部分,它取決於您的實施是否可行。我有一種感覺,它不會因爲用戶總是可以在地址欄中輸入某些內容來擺脫頁面。在離開頁面之前提示用戶的最可靠的方式是使用window對象的onbeforeunload事件並返回一個字符串。實施細節在Mozilla Developer Network

window.onbeforeunload

相關問題