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

将输入年龄存入Cookie并根据年龄弹出对应提示的实现需求

修正后的解决方案

现有代码缺少将年龄存入Cookie的核心逻辑,同时存在拼写错误、变量未声明以及判断条件不准确的问题,以下是修正后的完整实现:

HTML代码

<html>
<body>
  <label>姓名: </label><input type="text">
  <br>
  <label>年龄:</label> <input type="number" id="agenum" min="0">
  <br>
  <input type="button" value="存入Cookie并显示提示" onclick="cookiealert()">
</body>
</html>

JavaScript代码

function cookiealert() {
  // 获取输入的年龄并转为数字类型
  const age = Number(document.getElementById("agenum").value);
  
  // 验证输入是否为有效数字
  if (isNaN(age) || age < 0) {
    alert("请输入有效的年龄");
    return;
  }

  // 将年龄存入Cookie,设置7天有效期,路径覆盖全站
  const expiryDate = new Date();
  expiryDate.setDate(expiryDate.getDate() + 7);
  document.cookie = `userAge=${age}; expires=${expiryDate.toUTCString()}; path=/`;

  // 根据年龄判断并弹出提示
  let alertText;
  if (age >= 18) {
    alertText = "你可以申请驾照";
  } else {
    alertText = "你暂时无法申请驾照";
  }
  alert(alertText);
}

关键改动说明

  • 补充Cookie存储逻辑:使用document.cookie设置Cookie,指定有效期和全站路径,确保Cookie能正常存储和访问
  • 修正判断规则:将原代码的x > 18调整为age >= 18,符合18岁即可申请驾照的实际规则
  • 变量规范化:用const/let声明变量避免全局污染,同时将输入值转为数字类型,防止字符串比较引发逻辑错误
  • 增加输入验证:拦截非数字、负数等无效年龄输入,提升交互合理性
  • 文本优化:修正原代码拼写错误,将提示内容转为中文,匹配需求场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 22:25:41