Window: prompt() 方法
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 的方法,包括使用 prompt、window.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 |
浏览器兼容性
加载中…