在這篇簡短的文章中,我們將討論如何使用 JavaScript 顯示確認對話框。確認對話框允許您根據用戶輸入執行操作。
JavaScript 是網絡的核心技術之一。大多數網站都使用它,并且所有現代網絡瀏覽器都支持它,而不需要插件。在 Envato Tuts+,我們正在討論可以幫助您進行日常 JavaScript 開發的提示和技巧。
作為一名 JavaScript 開發人員,您經常需要以是或否問題的形式獲取用戶輸入,并基于此執行某些操作。具體來說,有些操作是敏感且無法撤消的,您希望向用戶發出警告或確認他們是否確實打算執行該操作,以免他們誤操作。例如,如果有一個刪除鏈接允許您從數據庫中刪除一個實體,您需要與用戶確認他們是否確實要刪除它。因此,即使用戶錯誤地點擊了刪除鏈接,他們至少還有機會取消它。
在這篇文章中,我將向您展示兩種在 JavaScript 中確認用戶操作的方法:使用 confirm 方法和使用隱藏確認 div。
立即學習“Java免費學習筆記(深入)”;
confirm?方法的語法
在 JavaScript 中,您可以使用 window 對象的 confirm 方法來顯示對話框,并等待用戶確認或取消。今天,我們將結合實際示例討論它的工作原理。
在本節中,我們將介紹 window.confirm 方法的語法。
confirm 方法的語法如下所示:
var result = window.confirm(message);
confirm 方法采用單個字符串參數,您可以傳遞要在對話框中顯示的消息。這是一個可選參數,但您需要傳遞一條明智的消息,否則將顯示一個帶有是和否選項的空白對話框,并且可能對您的訪問者沒有任何意義。通常,消息采用問題的形式,并向用戶提供兩個選項供選擇。
在對話框中,有兩個按鈕:確定和取消。如果用戶點擊確定按鈕,confirm方法返回true,如果用戶點擊取消按鈕,confirm方法返回false。所以可以通過confirm方法的返回值來了解用戶的選擇。 (如果您希望按鈕顯示不同的內容,例如是和否,我將在本文底部向您展示如何操作。)
由于 window 對象始終是隱式的,也就是說它的屬性和方法始終在作用域內,因此您還可以調用 confirm 方法,如以下代碼片段所示。
var result = confirm(message);
需要注意的是,確認對話框是模態且同步的。因此,當顯示對話框時,JavaScript 代碼執行就會停止,而在用戶通過單擊“確定”或“取消”按鈕關閉對話框后,JavaScript 代碼會繼續執行。
這就是 confirm 方法的語法概述。在下一節中,我們將介紹一個現實世界的示例。
confirm 方法的真實示例
在本節中,我們將通過一個實際示例來演示如何在 JavaScript 中使用 confirm 方法。
看一下下面的示例。
當用戶單擊刪除我的個人資料!按鈕時,它會調用 deleteProfile 函數。在deleteProfile函數中,我們調用了confirm方法,該方法向用戶顯示確認對話框。
最后,如果用戶單擊確認對話框中的確定按鈕,我們將繼續將用戶重定向到 /deleteProfile.php 頁面,該頁面將執行刪除操作。另一方面,如果用戶單擊取消按鈕,我們將不會執行任何操作。 JavaScript 執行將停止,直到用戶做出選擇并關閉確認對話框。
這就是如何使用JavaScript中的confirm方法來呈現是或否選擇對話框。
使用隱藏 Div 確認“是”或“否”
使用 confirm 方法來獲取用戶確認有一些缺點。一是確認對話框不會成為您的應用或網站 ui 的一部分。它不會使用您的品牌或配色方案。它也無法自定義,例如,如果您想說是或否而不是確定和取消。最后,確認對話框是模態的,因此只要顯示它,用戶就無法與應用界面的任何其他部分進行交互。
確認是或否的另一種方法是在頁面上使用隱藏的 div。看一下下面的例子:
在此示例中,我們有一個隱藏的確認 div,其 ID 為 confirm。要顯示 div,我們只需將其 hidden 屬性設置為 true。當我們想要顯示確認信息時,我們將 hidden 設置為 true,并再次將其設置為 false 以隱藏它。
正如您所看到的,這種確認是或否的方法比 window.confirm 方法使我們具有更大的靈活性和定制性。
結論
今天,我們討論了兩種在 JavaScript 中獲取用戶確認的方法。首先我們看最簡單的方法:window.confirm方法。然而,這并不能創造良好的用戶體驗。然后我向您展示了如何使用隱藏的 div 來獲得用戶確認,并更好地控制確認的外觀和行為。