如何比较输入文本的两个值?



我的代码有什么问题?即使我输入正确的答案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');}" >

尝试使用按钮标签,因为您没有提交表单。给它一个ID,这样你就可以从JS文件中引用它了。

<input id="properdate" type="text">
<button id="submit" type="button">Submit</button>

从你的JS文件或标签。"let"关键字可以让你在作用域中使用变量,你可以声明它一次,然后在不同的块中使用它,并使用不同的值。

选择你的"提交"按钮元素并使用"addEventListener()"而不是onclick属性。这不会将现有的事件处理程序覆盖为"onclick"。所做的事。在这里,确保你使用的是正确的事件,在本例中是"click"然后创建一个函数来做你需要做的事情。使用你的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>

我认为这是因为你只在页面加载时检索值,当事件调用它时,它使用存储在答案中的值,这是加载页面时保存的值。

<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">

最新更新