JavaScript Multiplication Game -
i supposed make simple program. produces multiplication problem, , when user types correct answer, supposed produce question. instead goes infinite loop , never stops, answer field , button go away. also, supposed make comment users answer, 1 of 4 different sayings. without using arrays how that?
my professor no help, getting aggravated have no else turn.
<html> <title>hw 9.27 , 9.28</title> <head> <script type="text/javascript"> var number1; var number2; var answer3; var answer2; function problem() { number1 = math.floor(1 + math.random() * 9); number2 = math.floor(1 + math.random() * 9); document.writeln("how " + number1 + " times " + number2 + " ?"); answer2 = (number1 * number2); } function answer1() { var statusdiv = document.getelementbyid("status"); answer3 = document.getelementbyid("answer").value; if (answer3 != answer2) statusdiv.innerhtml = "no. please try again"; else if (answer3 == answer2) { statusdiv.innerhtml = "very good!"; problem(); } } problem(); </script> </head> <body> <form> <input id="answer" type="text" /> <input type="button" value="solve!" onclick="answer1()" /> <div id ="status">click solve button solve problem</div> </form> </body> </html>
simply put, document.writeln("how " + number1 + " times " + number2 + " ?");
erases content on writes string. you're loosing form inputs.
the reason doesn't happen on initial page load because call document.writeln
happens before form elements load.
try this:
<html> <title>hw 9.27 , 9.28</title> <head> <script type="text/javascript"> var number1; var number2; var answer3; var answer2; function problem() { number1 = math.floor( 1 + math.random() * 9 ); number2 = math.floor( 1 + math.random() * 9 ); document.getelementbyid("prompt").innerhtml = "how " + number1 + " times " + number2 + " ?"; answer2 = (number1*number2); } function answer1() { var statusdiv = document.getelementbyid("status"); answer3=document.getelementbyid("answer").value; if(answer3 != answer2) statusdiv.innerhtml="no. please try again"; else if (answer3==answer2) { statusdiv.innerhtml="very good!"; problem(); }} </script> </head> <body onload="problem();"> <form> <div id ="prompt"></div> <input id="answer" type="text" /> <input type="button" value="solve!" onclick="answer1()" /> <div id ="status">click solve button solve problem</div> </form> </body> </html>
Comments
Post a Comment