2013-05-07 27 views
0

我有一個JavaScript警告,要求用戶插入密碼。當用戶按下按鈕時,我會做一個AJAX調用來檢查密碼。這可能會在響應中產生另一個警報(如果它被接受或不),但我想知道是否有可能讓AJAX響應更改我的第一個警報的文本?當點擊「好」時,是否可以覆蓋警報按鈕的默認設置不會自動關閉?在警告框中使用AJAX

+0

請顯示一些代碼。 – user1048676 2013-05-07 21:32:01

+2

編號使用jquery ui模式對話框 – mplungjan 2013-05-07 21:32:08

+2

標準'window.alert()'函數產生的警報只允許更改消息文本 - 不能更改按鈕文本或行爲。你可以實現一個html/css模式對話框(使用jQuery插件很容易,但即使使用vanilla JS也不是特別困難)。 – nnnnnn 2013-05-07 21:32:13

回答

3

我認爲一般情況下,您應該儘量減少在您的Web應用程序中使用警報。他們非常突兀和煩人。通常人們只是更新DOM來顯示用戶信息。警報是一種更獨特和重要的事情,比別人只是忘記密碼更重要。

編輯:

正如其他人指出,你應該使用模式對話框,而不是有行爲指定。

+0

雖然這是真的,但它確實更多的是評論,而不是直接解決OP的兩個問題。 – nnnnnn 2013-05-07 21:34:14

+0

@nnnnnn真。我編輯添加了我對模態對話框的看法。我認爲重要的是要立即注意到,這不是一個廣爲接受的使用警報對話框。 – thatidiotguy 2013-05-07 21:37:41

+0

@thatidiotguy我同意,並在問我的問題時想到這個問題。但即使我應該改變主意並以另一種方式實施我的想法,我對答案感到好奇:) – Nurp 2013-05-07 21:40:16

0

我很確定你不能這樣做,因爲警報的構造和顯示方式在每個瀏覽器中都不相同(只需查看移動瀏覽器)。如果您使用模態對話框,我認爲您會長時間維護您的理智。

0

作爲一種屏蔽功能,alert()本身就是一種可憎的東西,因爲這會阻礙你正在嘗試做的事情。