答案不会显示在消息框中

时间:2019-05-04 02:15:49

标签: javascript html output

我有2个由用户输入确定的随机数。然后,我有一个方框,您可以在其中输入对附加问题的答案,但不会显示您是否正确。

我尝试过更改按钮及其输出的消息类型。

<html>
  <head>
    <title>Math</title>
    <h1>Math Questions<h1/>
    <link href="Style.css" rel="stylesheet">
    <script type="text/javascript">
      function RandomNum1() {
        var low = parseFloat(document.getElementById("Low").value);
        var high = parseFloat(document.getElementById("High").value);      
        var Random;
        Random = Math.floor((Math.random()*high )+ low);
        document.getElementById("output").innerHTML = Random;
      }

      function RandomNum2() {
        var low2 = parseFloat(document.getElementById("Low").value);
        var high2 = parseFloat(document.getElementById("High").value);      
        var Random2;
        Random2 = Math.floor((Math.random()*high2 )+ low2);
        document.getElementById("output2").innerHTML = Random2;
      }
      function Answer(userGuess) {
        var answer = Random+Random2;          
        if (userGuess==answer) {
          document.getElementById("outMsgBox").innerHTML="You are correct!!!";
        } else {
          document.getElementById("outMsgBox").innerHTML="Sorry, try again. :(";
        }
      }
    </script>
  </head>
  <body> 
    <p>Enter the range of numbers you would like. <br />
       Minimum <input type="numeric" id="Low" size="10" value="" /> <br />
       Maximum <input type="numeric" id="High" size="10" value="" />
    </p>
    <input type="button" value="Generate First " onclick="RandomNum1();" hr="" />  <input type="button" value="Generate Second" onclick="RandomNum2();" hr="" />
    <p><div id="output" type="numeric"></div>+<div class="OutputBox" id="output2" type="numeric"></div></p>

    <p>Enter your answer here. <input type=numeric id="userGuess" min="1" max="1000"/> </p>  
    <input type="button" style="background-color:lightgreen" value="Check Answer" onclick="Answer(document.getElementById('userGuess').value);"/>
    <div id="outMsgBox" style="border-style:groove; border-color:green"></div>
  </body>
</html>

它应该显示您是否回答正确,但是当您单击“检查答案”时它什么都不显示。

1 个答案:

答案 0 :(得分:1)

问题是您将变量Random, Random2声明为局部变量。 尝试将这一行放在脚本的开头

var Random, Random2;

这会将它们定义为全局变量,这意味着脚本的任何部分都可以访问变量。然后,您需要从函数中删除变量var Randomvar Random2的定义,以免覆盖全局变量。