You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在用户取消prompt()弹窗时执行指定操作?

解决prompt弹窗取消按钮的判断问题

你的代码里有两个关键问题需要修正:

  • if (username = true) 是赋值操作,不是条件判断,应该用比较运算符 ===
  • prompt的返回值规则要搞清楚:点击「确定」时返回输入的内容(包括空字符串),点击「取消」时返回null,不能直接用true/false判断

下面是修正后的代码:

// 向用户发送prompt弹窗
let username = prompt("Enter username")

// 若用户点击确定(包括输入空字符串的情况)
if (username !== null) {
  // 可选:判断是否输入了非空的有效内容
  if (username.trim() !== "") {
    console.log("Welcome " + username)
  } else {
    console.log("Please enter a valid username")
  }
} 
// 若用户取消了prompt弹窗
else {
  console.log("Please enter a username")
}

逻辑说明

  • username !== null 直接对应「用户点击确定」的场景
  • 额外加的trim()判断是为了排除用户只输入空格的无效情况,如果不需要这个校验,可以直接用if (username !== null)执行欢迎逻辑
  • 当username === null时,就是用户点击了取消按钮,触发对应的提示操作

内容的提问来源于stack exchange,提问作者desiignerr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 14:49:55