Window: prompt() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

window.prompt() 指示瀏覽器顯示一個帶有可選訊息的對話方塊,提示使用者輸入一些文字,並等待使用者提交文字或取消對話方塊。

在某些情況下(例如,當用戶切換標籤頁時),瀏覽器可能不會顯示對話方塊,或者可能不會等待使用者提交文字或取消對話方塊。

語法

js
prompt()
prompt(message)
prompt(message, defaultValue)

引數

message 可選

要顯示給使用者的文字字串。如果提示視窗中沒有內容顯示,則可以省略。

defaultValue 可選

包含在文字輸入欄位中顯示的預設值的字串。

返回值

包含使用者輸入的文字,或 null 的字串。

示例

使用帶有訊息和預設值的 prompt

以下示例顯示瞭如何檢查 prompt 的返回值。當用戶單擊“確定”按鈕時,將返回輸入欄位中輸入的文字。如果使用者在不輸入任何文字的情況下單擊“確定”,則返回一個空字串。如果使用者單擊“取消”按鈕,此函式將返回 null

html
<button id="signButton">Check star sign</button>
<pre id="log"></pre>
js
const signButton = document.querySelector("#signButton");
const log = document.querySelector("#log");

signButton.addEventListener("click", () => {
  let sign = prompt("What's your sign?");

  if (sign === null) {
    log.innerText = "OK, maybe next time.";
  } else if (sign.toLowerCase() === "") {
    log.innerText = "Don't be shy, enter your sign!";
  } else if (sign.toLowerCase() === "scorpio") {
    log.innerText = "Wow! I'm a Scorpio too!";
  } else {
    log.innerText = `${sign} is my favorite!`;
  }
});

Prompt 訊息和預設值

有多種使用 prompt 的方法,包括使用 promptwindow.prompt,以及提供訊息和預設值。

js
// open a blank prompt window
sign = prompt();
// open a blank prompt window
sign = window.prompt();
// open a prompt with the text "Are you feeling lucky"
sign = window.prompt("Are you feeling lucky");
// open a prompt with the text "Are you feeling lucky" and "sure" as the default value
sign = prompt("Are you feeling lucky", "sure");

注意

對話方塊是模態視窗——它們會阻止使用者訪問程式介面的其餘部分,直到對話方塊關閉。因此,您不應過度使用任何建立對話方塊或模態視窗的函式。或者,可以使用 <dialog> 元素進行確認。

prompt 對話方塊包含一個單行文字框、一個“取消”按鈕和一個“確定”按鈕,並返回使用者在該文字框中輸入的(可能為空的)文字。結果是一個字串,這意味著您有時應該轉換使用者提供的值。例如,如果他們的答案應該是數字,則應將值轉換為 Number。

js
const number = Number(window.prompt("Type a number", ""));

規範

規範
HTML
# dom-prompt-dev

瀏覽器相容性

另見