我想驗證文本,並使用alert()讓用戶知道文本何時無效。我唯一的問題是,至少對於我來說,FF4並沒有採取任何措施來阻止他們執行後退和前進按鈕等操作,所以如果文本無效,他們仍然可以按回去,而不會被驗證。提醒,防止任何瀏覽器動作,直到清除
有沒有一種方法可以讓警報發生,直到警報被清除後才能對瀏覽器做任何事情?
我想驗證文本,並使用alert()讓用戶知道文本何時無效。我唯一的問題是,至少對於我來說,FF4並沒有採取任何措施來阻止他們執行後退和前進按鈕等操作,所以如果文本無效,他們仍然可以按回去,而不會被驗證。提醒,防止任何瀏覽器動作,直到清除
有沒有一種方法可以讓警報發生,直到警報被清除後才能對瀏覽器做任何事情?
您可以綁定到window.onbeforeunload,並讓用戶繼續「正確」的方式,直到他們正確。
但是,有些東西告訴我你需要修正你的工作流程,而不是試圖繞過用戶做他們想做的事情(程序員總是失敗)。
即使您可以替換瀏覽器的警報框,該功能仍然內置在瀏覽器中,所以我認爲您不能。
考慮錯誤顯示的替代形式會更好。
不,不應該有。過去有真正的模態警報,但它們被瘋狂濫用。與無URL彈出窗口等相同。我們擺脫它們是件好事。
在任何情況下,作爲網絡用戶,我希望後退按鈕始終安全,不會使應用程序處於不一致的狀態。這可能是一個更好的方法
我不能真正想到任何重要的事情來驗證,以防止任何其他職能,你永遠不能真正在客戶端實現這一點,如果你真的必須那麼你應該設置一個在服務器端的變量中,在該用戶的數據庫中,可以將其稱爲user_preventaction,並假設您在加載頁面時將其設置爲TRUE,直到要驗證的輸入被驗證並設置爲FALSE爲止,該頁面將不會更改。然後,用戶嘗試訪問並阻止任何頁面的行爲仍爲TRUE,它將呈現頁面,迫使他們驗證您認爲非常重要的任何內容,以至於用戶甚至可以決定返回。
如果他們禁用他們的JavaScript,它根本就沒有關係。驗證客戶端是一件好事,但應該是對服務器端驗證的補充。我的建議是不要忽視限制用戶行爲的客戶端,只是告訴他們這個問題。如果他們在發佈數據之前沒有修復它,請將它們發送回頁面並提供信息。 – Matt 2011-06-13 20:06:19
我會避免使用警報。在PHP方法中可能會更好。 – ngen 2011-06-13 20:06:54
從用戶體驗角度來看,阻止瀏覽器的警報非常糟糕。這就是爲什麼FF4已變成非阻塞警報。我希望其他一些瀏覽器很快就能遵循這一理念。 – Jan 2011-06-13 20:08:47