Window: prompt() 方法

window.prompt() 指示浏览器显示一个带有可选消息的对话框,提示用户输入一些文本,并等待用户提交文本或取消对话框。

在某些情况下——例如,当用户切换选项卡时——浏览器可能不会实际显示对话框,或者可能不会等待用户提交文本或取消对话框。

语法

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

参数

message 可选

要显示给用户的文本字符串。如果提示窗口中没有内容要显示,可以省略。

defaultValue 可选

包含在文本输入字段中显示的默认值的字符串。

返回值

包含用户输入的文本的字符串,或 null

示例

js
let sign = prompt("What's your sign?");

if (sign.toLowerCase() === "scorpio") {
  alert("Wow! I'm a Scorpio too!");
}

// there are many ways to use the prompt feature
sign = window.prompt(); // open the blank prompt window
sign = prompt(); //  open the blank prompt window
sign = window.prompt("Are you feeling lucky"); // open the window with Text "Are you feeling lucky"
sign = window.prompt("Are you feeling lucky", "sure"); // open the window with Text "Are you feeling lucky" and default value "sure"

当用户点击“确定”按钮时,将返回在输入字段中输入的文本。如果用户在不输入任何文本的情况下点击“确定”,则返回空字符串。如果用户点击“取消”按钮,则此函数返回 null

上述提示显示如下(在 macOS 上的 Chrome 中)

prompt() dialog in Chrome on macOS

注释

提示对话框包含一个单行文本框、一个“取消”按钮和一个“确定”按钮,并返回用户在该文本框中输入的(可能为空)文本。

请注意,结果是一个字符串。这意味着您有时应该转换用户提供的数值。例如,如果他们的答案应该是数字,则应将值转换为数字。

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

对话框是模态窗口;它们阻止用户访问程序界面的其余部分,直到对话框关闭。因此,您不应过度使用任何创建对话框(或模态窗口)的函数。

或者,可以使用 <dialog> 元素获取用户输入。

规范

规范
HTML 标准
# dom-prompt-dev

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅