View Full Version : Validation Script
Teessider_2000
Dec 7th 2006, 3:26 am
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.
krakjoe
Dec 7th 2006, 3:30 am
can I get a quick look at html source aswell instead of guessing or taking time to redo what is already available ?
Teessider_2000
Dec 7th 2006, 3:48 am
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>
krakjoe
Dec 7th 2006, 4:17 am
Would using php be cheating ?
krakjoe
Dec 7th 2006, 4:26 am
<?
for($i = 1; $i <= 16; $i++)
{
if ($_POST["q$i"] == "")
{
$messages = "Please enter an answer for each question.<br>";
$i = 17;
}
else {
//do whatever
}
}
?>
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.....
Teessider_2000
Dec 7th 2006, 6:49 am
i'll give that a try, good idea. I guess theres no rule that says you have to use javascript. Cheers mate.
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.