将输入年龄存入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
相关产品推荐
相关产品推荐

