輸入正確答案兩次後,即使再次輸入正確答案,任何後續嘗試都會顯示「再次嘗試」輸出。什麼是造成這種奇怪的行爲?程序正確運行兩次後出現錯誤
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
var answer;
var firstNum;
var secondNum;
var check = true;
question();
function question() {
firstNum = Math.floor(Math.random() * 101);
secondNum = Math.floor(Math.random() * 101);
answer = firstNum * secondNum;
document.writeln("<h1>How much is " + firstNum + " times " + secondNum + "</h1>");
document.writeln(answer);
document.write('<input name="inputAnswer" type="text" id="inputAns"/>');
document.write('<input name="submitBtn" type="submit" value="Submit Answer" onclick="validate()"/>');
}
function validate() {
if (document.getElementById("inputAns").value == answer) {
document.write("Good");
check = true;
result();
} else {
check = false;
document.write("try again");
result();
}
}
function result() {
if (check == true)
question();
else {
document.writeln("<h1>How much is " + firstNum + " times " + secondNum + "</h1>");
document.writeln(answer);
document.write('<input name="inputAnswer" type="text" id="inputAns"/>');
document.write('<input name="submitBtn" type="submit" value="Submit Answer" onclick="validate()"/>');
}
}
</script>
</head>
<body></body>
</html>
順便說一句你在哪裏學JS?這不是大多數網絡應用程序的結構; 'document.write'在實踐中很少使用。使用'document.createElement'創建元素並使用'some_element.addEventListener'向他們添加行爲更爲常見。 – Kos 2013-05-04 12:03:09
@Kos,這聽起來像作業 – Yoni 2013-05-04 12:13:34