如何对比输入文本的两个值?输入正确值0414仍仅触发错误警告如何解决
问题根因
- 变量取值时机错误:你声明
answer变量的代码是页面加载完成后立即执行的,此时输入框还没有用户输入内容,answer会被赋值为空字符串,后续用户输入内容时这个变量不会自动更新。 - 点击提交按钮触发
onclick事件时,你比对的还是页面加载时拿到的旧值,永远和rightanswer匹配不上。
修复方案
方案1:直接把取值逻辑写入点击事件(改动最小)
<input id="Properdate" type="text"> <input type="submit" value="submit" onclick=" var answer = String(document.getElementById('Properdate').value); var rightanswer = '0414'; if(answer === rightanswer){ alert('good'); } else { alert('Try again'); } ">
方案2:封装为独立函数(后续维护更方便)
JavaScript代码:
function checkAnswer() { const answer = String(document.getElementById('Properdate').value); const rightanswer = '0414'; alert(answer === rightanswer ? 'good' : 'Try again'); }
HTML代码:
<input id="Properdate" type="text"> <input type="submit" value="submit" onclick="checkAnswer()">
内容的提问来源于stack exchange,提问作者YESSS
相关产品推荐
相关产品推荐

