[英]How to compare two values from input text?
我的代码有什么问题? 即使我给出了正确的答案,0414 也不会发出真正的警报。 只会出现假警报。
var answer = String(document.getElementById('Properdate').value); var rightanswer = '0414';
<input id="Properdate" type="text"> <input type="submit" value="submit" onclick="if(answer === rightanswer){ alert('good'); } else { alert('Try again');}" >
我认为这是因为您仅在页面加载时检索值,当调用它的事件使用存储在 answer 中的值时,这是它在页面加载时保存的值。
<input id="Properdate" type="text">
<script>
var rightanswer= '0414';
</script>
<input type="submit" value="submit" onclick="
var answer = String(document.getElementById('Properdate').value);
if(answer === rightanswer){
alert('good');
}
else{
alert('Try again');}"
>
应该与此合作
将代码作为 onclick 放在按钮上不是一个好主意! 我做了一个例子,希望对你有用。
例子:
document.getElementById('sbmt').addEventListener('click', submitFunc); function submitFunc() { var answer = document.getElementById('Properdate').value; var rightanswer = '0414'; if (answer === rightanswer) { alert('good'); } else { alert('Try again'); } }
<input id="Properdate" type="text"> <input id="sbmt" type="submit" value="submit">
尝试使用按钮标签,因为您没有提交表单。 给它一个 ID,这样你就可以从你的 JS 文件中引用它。
HTML
<input id="properdate" type="text">
<button id="submit" type="button">Submit</button>
来自您的 JS 文件或标签。 “let”关键字允许您在范围内处理变量,您可以声明一次并在不同的块中使用不同的值。
选择您的“提交”按钮元素并使用“addEventListener()”而不是 onclick 属性。 这不会像“onclick”那样覆盖现有的事件处理程序。 从那里,确保您使用了正确的事件,在这种情况下,“单击”并创建一个函数来执行您需要的任何操作。 使用您的 if 子句并尽量保持简洁。 继续努力吧,伙计!
JS
<script>
let answer = document.getElementById('properdate');
let rightanswer = '0414';
let submit = document.getElementById('submit');
submit.addEventListener('click', function(){
if(answer.value === rightanswer) {
alert('Good');
} else {
alert('Try again');
}
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.