Connecting Tech Pros Worldwide Help | Site Map

Looping Issue w/ Basic Quiz...

 
LinkBack Thread Tools Search this Thread
  #1  
Old August 27th, 2008, 01:55 PM
LayneMitch via WebmasterKB.com
Guest
 
Posts: n/a
Default Looping Issue w/ Basic Quiz...

Hello.

This is a basic quiz. Only about 3 questions. I'm having issue with the
answer key which stays on a certain value regardless of acknowledging that
you have the correct answer for the first and moving on to the next answer.

Here's the code:

Expand|Select|Wrap|Line Numbers
  1. <html><head><title>Problem7</title>
  2. <script type="text/javascript">
  3.  
  4. function attachHandlers()
  5. {
  6. var my_button = document.getElementById("sec_button");
  7. my_button.onclick = checkAnswer;
  8. }
  9.  
  10. function firstQuestion()
  11. {
  12. var the_box = document.getElementById("questions");
  13. var first_ques = "what's the value of 5+4?";
  14. the_stat = document.createTextNode(first_ques);
  15. the_box.appendChild(the_stat);
  16. }
  17.  
  18. function checkAnswer()
  19. {
  20. var the_questions = new Array();
  21. the_questions[1] = "what's the value of 7+4?";
  22. the_questions[2] = "what's the value of 9+6?";
  23. the_questions[3] = "what's the value of 10+6?";
  24.  
  25.  
  26. var the_key = new Array();
  27. the_key[0] = "9";
  28. the_key[1] = "11";
  29. the_key[2] = "15";
  30. the_key[3] = "16";
  31.  
  32. var the_field = document.getElementsByTagName("input")[0];
  33.  
  34. var i=0;
  35. while(i < the_key.length)
  36. {
  37.  
  38. if (the_field.value==the_key[i])
  39. {
  40. alert("Very Good");
  41. i++;
  42. }
  43.  
  44. else
  45. {
  46. alert("Please try again");
  47. return
  48. }
  49.  
  50. the_field.value="";
  51. var the_div = document.getElementById("questions");
  52. the_div.innerHTML="";
  53. var text_node = document.createTextNode(the_questions[i]);
  54. the_div.appendChild(text_node);
  55. }
  56.  
  57. }
  58. </script></head>
  59. <body onLoad="attachHandlers(); firstQuestion();">
  60. <div id = "questions"></div>
  61. <input type="text" id="answerfield" size="20"><br>
  62. <input type="button" value="check" id="sec_button">
  63. </body>
  64. </html>
  65.  
The answer key is staying on one value then checking it without me hitting
the button....

I know it's probably a simple step missing, but I can't seem to find it.

--
Message posted via WebmasterKB.com
http://www.webmasterkb.com/Uwe/Forum...cript/200808/1


  #2  
Old August 27th, 2008, 02:45 PM
SAM
Guest
 
Posts: n/a
Default Re: Looping Issue w/ Basic Quiz...

LayneMitch via WebmasterKB.com a écrit :
Quote:
>
Here's the code:
(snip) (see previous post)
Quote:
The answer key is staying on one value then checking it without me hitting
the button....
yes the 'while' continues its job
Quote:
I know it's probably a simple step missing, but I can't seem to find it.
without a reference (globale one) I don't see how to do.

There is how I'ld do :

<html><head><title>Problem7</title>
<script type="text/javascript">

var i=0;
var the_questions = new Array();
the_questions[0] = "what's the value of 5+4?";
the_questions[1] = "what's the value of 7+4?";
the_questions[2] = "what's the value of 9+6?";
the_questions[3] = "what's the value of 10+6?";

var the_key = new Array();
the_key[0] = "9";
the_key[1] = "11";
the_key[2] = "15";
the_key[3] = "16";

function attachHandlers()
{
var my_form = document.getElementById("quiz");
my_form.onsubmit = function() { return checkAnswer(); };
}

function Question()
{
var the_field = document.getElementById("answerfield");
the_field.value="";
var the_div = document.getElementById("questions");
the_div.innerHTML="";
var text_node = document.createTextNode(the_questions[i]);
the_div.appendChild(text_node);
}

function checkAnswer()
{
var the_field = document.getElementById("answerfield");

if (the_field.value==the_key[i])
{
alert("Very Good");
i++;
if( i<the_key.length ) Question();
}
else
{
alert("Please try again");
}

the_field.focus();
the_field.select();
return false;
}
</script></head>
<body onload="attachHandlers(); Question();">
<p id = "questions"></p>
<form id="quiz" action="#" >
<input type="text" id="answerfield" size="20"><br>
hit key [Enter] or this button: <input type="submit" value="check">
</form></body></html>

--
sm
  #3  
Old August 28th, 2008, 02:25 AM
LayneMitch via WebmasterKB.com
Guest
 
Posts: n/a
Default Re: Looping Issue w/ Basic Quiz...

SAM wrote:
Quote:
>LayneMitch via WebmasterKB.com a écrit :
>
Appreciate the response...the problem is solved. Thanks once again.

--
Message posted via http://www.webmasterkb.com

 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,989 network members.