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

JavaScript问题:第一个Prompt不合法时阻止第二个Prompt弹出

问题解决方法

核心问题是第二个prompt没有做条件判断,无论第一个输入是否合法都会执行。我们需要先校验第一个输入的结果,只有符合要求时才弹出第二个输入框。

修改后的代码如下:

function formatNaam(naam) {
    return naam.charAt(0).toUpperCase() + naam.slice(1);
}

let naam1 = prompt("geef je voornaam");
let naam2;
let aangepast;

// 校验第一个输入的合法性
if (naam1 === "") {
    aangepast = "niks is ingevuld";
} else if (naam1 === null) {
    aangepast = "je hebt geanulleerd";
} else if (naam1.length < 2) {
    aangepast = "Te weinig ingevuld";
} else {
    // 只有第一个输入合法时,才弹出第二个输入框
    naam2 = prompt("Geef jouw achternaam");
    // 格式化名字,若需要处理姓氏可在此扩展
    aangepast = formatNaam(naam1);
    // 可选:加上格式化后的姓氏
    // if (naam2) aangepast += " " + formatNaam(naam2);
}

document.write(`<p>Test ${aangepast}</p>`);

关键改动说明

  • 将第二个prompt放入条件分支中,仅当第一个输入满足要求(非空、未取消、长度≥2)时才触发。
  • 原函数namen中未使用achternaam参数,拆分出单独的formatNaam函数负责名字格式化,逻辑更清晰。
  • 用naam1.length < 2替代原有的voornaam == voornaam.substring(0,2)判断,更直观地检查输入长度是否过短。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:15:35