Javascript 尝试创建基本的数学游戏

Javascript 尝试创建基本的数学游戏,javascript,html,math,Javascript,Html,Math,我在做一个数学游戏。我有这个HTML/JavaScript代码。它生成一个随机数,但当我输入正确答案时,它仍然显示“错误”。我不确定出了什么问题 以下是HTML代码: <table width="400" border="1" align="center"> <tr> <td><div id="number1">1</div></td> <td><div>+</div>

我在做一个数学游戏。我有这个HTML/JavaScript代码。它生成一个随机数,但当我输入正确答案时,它仍然显示“错误”。我不确定出了什么问题

以下是HTML代码:

<table width="400" border="1" align="center">
  <tr>
    <td><div id="number1">1</div></td>
    <td><div>+</div></td>
    <td><div id="number2">2</div></td>
    <td><div>=</div></td>
    <td><input type="text"></input></td>
    <td><input type="button" value="Check"></input></td>

  </tr>
</table>
您不更新该值

在按钮中,单击事件更新值

在.onclick方法中移动以下行

您可以从中验证结果


问题在于加载页面时变量值初始化为空字符串,正如加载页面时值为空一样。

将答案与checkAnswer中的值进行比较:


它不是java代码,而是javascript。Java和Java脚本都非常不同。@KrishnaVerma Java脚本或JavaScript?checkAnswer未初始化为空字符串值为。此外,只需移动值。querySelectory在以前有效,而且效率更高。@Abhishek您能解释一下文档吗。querySelector'input[type=text];please@varadmayee当然它获取HTML中文本类型的第一个输入标记。在本例中,它是答案文本框。您可以通过以下途径了解更多信息:
//random number appear when start game
var number1;
var number2;

number1 = Math.floor((Math.random() * 10) + 1);
number2 = Math.floor((Math.random() * 10) + 1);
document.getElementById("number1").innerHTML=number1;
document.getElementById("number2").innerHTML=number2;

//Answer
var answer = number1 + number2;

//add click handler with check answer
var checkAnswer = document.querySelector('input[type=text]');
var value = checkAnswer.value;
var btn = document.querySelector('input[type=button][value=Check]');


btn.onclick = function() 
{
  if (value == answer) 
       {
          alert('You are correct');
       }
   else{
          alert('You are incorrect, the answer was ' + answer);
       }

 document.querySelector('input[type=text]').value = "";               
 document.getElementById('number1').innerHTML = "";
 document.getElementById('number2').innerHTML = ""; 
 number1 = Math.floor((Math.random() * 10) + 1);
 number2 = Math.floor((Math.random() * 10) + 1);
 document.getElementById('number1').innerHTML = number1; 
 document.getElementById('number2').innerHTML = number2;

 answer = number1 + number2


};
btn.onclick = function() 
{
    value = checkAnswer.value;

    ...
var checkAnswer = document.querySelector('input[type=text]'); //needn't be moved in method
var value = checkAnswer.value;
if (checkAnswer.value == answer) { 
  //correct 
}else{
  //incorrect
}