Hi all First time poster here! I am pretty inexperienced using javascript so wanted some advice on my code. Basically i am doing little more than writing a validation script for an online survey im writing (http://www.williamcarson.co.uk/Evaluation_Form/form1.html) as you'll see there are lots of questions each with 3 radio buttons. Am trying to write a script that will check that each question has an answer, rather than writing out if statements for each question, was kinda hoping i could do it all in one short script. Trouble is its not working! The code is as follows: function Validate(){ var proceed = ""; for (var x = 1; x <= 16; x++) //16 questions { for (counter = 0; counter <= 2; counter++) // 3 answers if (document.page1.elements["q"+x][counter].checked) { proceed == "true"; } else { proceed == "false"; } } } if (proceed != "true") { return false; } else { return true; } } If anyone can give me some pointers that would be greatly appreciated! Cheers.
can I get a quick look at html source aswell instead of guessing or taking time to redo what is already available ?
Yea sure the html is as follows: <form name="page1" id="page1" method="post" action="form2.php" onsubmit="return Validate()" > <p>Name : <input type="text" name="userName" size="30" value="First enter your name..." onclick="javascript:document.page1.userName.value='';"/></p> <table> <tr> <th colspan="2">Communication Skills</th><th>OK</th><th>Need to do more</th><th>Need to do less</th> </tr> <tr><td class="number">1</td> <td class="question">Talking in the group</td> <td class="radio"><input type="radio" name="q1" value="OK" /></td> <td class="radio"><input type="radio" name="q1" value="Need More" /></td> <td class="radio"><input type="radio" name="q1" value="Need Less" /></td> </tr> <tr><td class="number">2</td> <td class="question">Being brief and concise</td> <td class="radio"><input type="radio" name="q2" value="OK" /></td> <td class="radio"><input type="radio" name="q2" value="Need More" /></td> <td class="radio"><input type="radio" name="q2" value="Need Less" /></td> </tr> <tr><td class="number">3</td> <td class="question">Being forceful</td> <td class="radio"><input type="radio" name="q3" value="OK" /></td> <td class="radio"><input type="radio" name="q3" value="Need More" /></td> <td class="radio"><input type="radio" name="q3" value="Need Less" /></td> </tr> <tr><td class="number">4</td> <td class="question">Drawing others out</td> <td class="radio"><input type="radio" name="q4" value="OK" /></td> <td class="radio"><input type="radio" name="q4" value="Need More" /></td> <td class="radio"><input type="radio" name="q4" value="Need Less" /></td> </tr> <tr><td class="number">5</td> <td class="question">Listening alertly</td> <td class="radio"><input type="radio" name="q5" value="OK" /></td> <td class="radio"><input type="radio" name="q5" value="Need More" /></td> <td class="radio"><input type="radio" name="q5" value="Need Less" /></td> </tr> <tr><td class="number">6</td> <td class="question">Thinking before I talk</td> <td class="radio"><input type="radio" name="q6" value="OK" /></td> <td class="radio"><input type="radio" name="q6" value="Need More" /></td> <td class="radio"><input type="radio" name="q6" value="Need Less" /></td> </tr> <tr><td class="number">7</td> <td class="question">Keeping my remarks on the topic</td> <td class="radio"><input type="radio" name="q7" value="OK" /></td> <td class="radio"><input type="radio" name="q7" value="Need More" /></td> <td class="radio"><input type="radio" name="q7" value="Need Less" /></td> </tr> <tr><td class="number">8</td> <td class="question"><input type="text" name="question8" size="30" value="Enter your question..." onclick="javascript:document.page1.question8.value='';" /></td> <td class="radio"><input type="radio" name="q8" value="OK" /></td> <td class="radio"><input type="radio" name="q8" value="Need More" /></td> <td class="radio"><input type="radio" name="q8" value="Need Less" /></td> </tr> </table> <br /><br /> <table> <tr> <th colspan="2">Observation Skills</th><th>OK</th><th>Need to do more</th><th>Need to do less</th> </tr> <tr><td class="number">9</td> <td class="question">Noting tension in the group</td> <td class="radio"><input type="radio" name="q9" value="OK" /></td> <td class="radio"><input type="radio" name="q9" value="Need More" /></td> <td class="radio"><input type="radio" name="q9" value="Need Less" /></td> </tr> <tr><td class="number">10</td> <td class="question">Noting who talks to whom</td> <td class="radio"><input type="radio" name="q10" value="OK" /></td> <td class="radio"><input type="radio" name="q10" value="Need More" /></td> <td class="radio"><input type="radio" name="q10" value="Need Less" /></td> </tr> <tr><td class="number">11</td> <td class="question">Noting interest level in the group</td> <td class="radio"><input type="radio" name="q11" value="OK" /></td> <td class="radio"><input type="radio" name="q11" value="Need More" /></td> <td class="radio"><input type="radio" name="q11" value="Need Less" /></td> </tr> <tr><td class="number">12</td> <td class="question">Sensing the feelings of individuals</td> <td class="radio"><input type="radio" name="q12" value="OK" /></td> <td class="radio"><input type="radio" name="q12" value="Need More" /></td> <td class="radio"><input type="radio" name="q12" value="Need Less" /></td> </tr> <tr><td class="number">13</td> <td class="question">Noting who is being left out</td> <td class="radio"><input type="radio" name="q13" value="OK" /></td> <td class="radio"><input type="radio" name="q13" value="Need More" /></td> <td class="radio"><input type="radio" name="q13" value="Need Less" /></td> </tr> <tr><td class="number">14</td> <td class="question">Noting reaction to my comments</td> <td class="radio"><input type="radio" name="q14" value="OK" /></td> <td class="radio"><input type="radio" name="q14" value="Need More" /></td> <td class="radio"><input type="radio" name="q14" value="Need Less" /></td> </tr> <tr><td class="number">15</td> <td class="question">Noting when the group avoids a topic</td> <td class="radio"><input type="radio" name="q15" value="OK" /></td> <td class="radio"><input type="radio" name="q15" value="Need More" /></td> <td class="radio"><input type="radio" name="q15" value="Need Less" /></td> </tr> <tr><td class="number">16</td> <td class="question"><input type="text" name="question16" size="30" value="Enter your question..." onclick="javascript:document.page1.question16.value='';" /></td> <td class="radio"><input type="radio" name="q16" value="OK" /></td> <td class="radio"><input type="radio" name="q16" value="Need More" /></td> <td class="radio"><input type="radio" name="q16" value="Need Less" /></td> </tr> </table> <br /> <br /> <br /> <p class="nav"><input type="submit" value="next" /></p> </form>
<? for($i = 1; $i <= 16; $i++) { if ($_POST["q$i"] == "") { $messages = "Please enter an answer for each question.<br>"; $i = 17; } else { //do whatever } } ?> PHP: Stick that at the top of a page, and put <?=$messages ?> somewhere in the body and you'll get the same affect, depends what you want to do after, but I don't seem to be able to sus out a js alternative, I'll keep trying though.....
i'll give that a try, good idea. I guess theres no rule that says you have to use javascript. Cheers mate.