【发布时间】:2019-04-27 14:27:19
【问题描述】:
我最近在上一篇文章中提出了这个简单的功能,方法是使用 prompt() 来获取用户输入。从那时起,我提升自己以使用 HTML 表单输入来达到类似的结果。我无法让方程式刷新。我不确定我做错了什么。简直……
-随机生成 1-10 之间的两个数字...只工作一次
-用户输入答案并比较...有效
-统计总答案和正确答案...有效
-提供一个数字等级...作品
数学生成“getMath()”不会在“result()”结束时重新运行,我不知道为什么。
请随意在语法上打败我。
接下来,我将添加数字并更改操作以逐步提高难度级别。但一步一步。
提前感谢您的时间和洞察力。
var correct = 0,
wrong = 0,
ans,
firstnum = Math.floor(Math.random() * 10 + 1),
secondnum = Math.floor(Math.random() * 10 + 1),
total = firstnum + secondnum,
score,
input,
calc = "+";
function getMath() {
document.getElementById("firstnum").value = firstnum;
document.getElementById("secondnum").value = secondnum;
document.getElementById("calc").value = calc;
}
function getAnswer() {
var input = document.getElementById("userInput").value;
if (input == total) {
correct++;
} else {
wrong++;
}
result();
}
function result() {
score = correct + wrong;
percent = correct / score;
document.getElementById("score").innerHTML = score;
document.getElementById("ans").innerHTML = correct;
document.getElementById("percent").innerHTML = percent * 100;
getMath();
}
<body onload="getMath()">
<h1>Math Test</h1>
<input type="text" id="firstnum"></input>
<input type="text" id="calc">
<input type="text" id="secondnum">
<hr>
<form id="form1" onsubmit="return false">
<input type="text" id="userInput" placeholder="" size="10">
<button onclick="getAnswer()">Submit Answer</button>
</form>
<p>Total Answered</p>
<p id="score"></p>
<p>Answered Correctly</p>
<p id="ans"></p>
<p>Your number grade</p>
<p id="percent">%</p>
</body>
</html>
【问题讨论】:
-
在result()的末尾放置一个函数无效吗?
-
The math generation "getMath()" does not re-run at the end of the "result()" and I am not sure why.看起来它在加载时运行一次,并在提交答案后再次运行。 -
当
firstnum、secondnum或calc中的任何值发生更改时,是否要重新运行getmath()? -
计算用户输入和真假后,我想生成一组新的数字来计算另一个用户输入。
标签: javascript html function validation