如何在用户取消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
相关产品推荐
相关产品推荐

