我有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>
它应该显示您是否回答正确,但是当您单击“检查答案”时它什么都不显示。
答案 0 :(得分:1)
问题是您将变量Random, Random2
声明为局部变量。
尝试将这一行放在脚本的开头
var Random, Random2;
这会将它们定义为全局变量,这意味着脚本的任何部分都可以访问变量。然后,您需要从函数中删除变量var Random
和var Random2
的定义,以免覆盖全局变量。