정답을 두 번 입력하면 정답을 다시 입력해도 이후의 시도에는 "다시 시도"출력이 표시됩니다. 이 이상한 행동을 일으키는 원인은 무엇입니까?프로그램이 잘못 실행 된 후 두 번이나 핵심 작업을 수행합니다.
<!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>
BTW 어디에서 JS를 배우고 있습니까? 그것은 대부분의 웹 앱이 구조화 된 방식이 아닙니다. 'document.write'는 실제로 거의 사용되지 않습니다. 'document.createElement'를 사용하여 요소를 만들고'some_element.addEventListener'를 사용하여 요소에 동작을 추가하는 것이 더 일반적입니다. – Kos
@Kos, 숙제처럼 들리네 – Yoni