Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New Coder
    Join Date
    Jun 2010
    Posts
    23
    Thanks
    7
    Thanked 0 Times in 0 Posts

    Exclamation Validating Radio Buttons

    Just wondering what the code would be to validate the radio buttons, thus when i click get score a pop up will tell me that one of the radio buttons was not selected. If you really want to help me it would be good if i was able to have get score and submit working on one button, and validating every field.
    My code is below (don't mind the questions and answers )

    Code:
    <HEAD>
    
    <script language="JavaScript">
    var numQues = 5;
    
    
    var numChoi = 3;
    
    var answers = new Array(5);
    
    answers[0] = "Life";
    answers[1] = "Disturbing";
    answers[2] = "Yahoo Answers";
    answers[3] = "Playing Video Games in the Basement";
    answers[4] = "About the portion of my Sandwich";
    
    function getScore(form) {
      var score = 0;
      var currElt;
      var currSelection;
      for (i=0; i<numQues; i++) {
        currElt = i*numChoi;
        for (j=0; j<numChoi; j++) {
          currSelection = form.elements[currElt + j];
          if (currSelection.checked) {
            if (currSelection.value == answers[i]) {
              score++;
              break;
            }
          }
        }
      }
      score = Math.round(score/numQues*100);
      form.percentage.value = score + "%";
      var correctAnswers = "";
      for (i=1; i<=numQues; i++) {
        correctAnswers += i + ". " + answers[i-1] + "\r\n";
      }
      form.solutions.value = correctAnswers;
    }
    function validate_required(field,alerttxt)
    {
    with (field)
      {
      if (value==null||value=="")
        {
        alert(alerttxt);return false;
        }
      else
        {
        return true;
        }
      }
    }
    function echeck(str) {
    
    		var at="@"
    		var dot="."
    		var lat=str.indexOf(at)
    		var lstr=str.length
    		var ldot=str.indexOf(dot)
    		if (str.indexOf(at)==-1){
    		   alert("Please Enter a Valid E-mail")
    		   return false
    		}
    
    		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
    		   alert("Please Enter a Valid E-mail")
    		   return false
    		}
    
    		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
    		    alert("Please Enter a Valid E-mail")
    		    return false
    		}
    
    		 if (str.indexOf(at,(lat+1))!=-1){
    		    alert("Please Enter a Valid E-mail")
    		    return false
    		 }
    
    		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
    		    alert("Please Enter a Valid E-mail")
    		    return false
    		 }
    
    		 if (str.indexOf(dot,(lat+2))==-1){
    		    alert("Please Enter a Valid E-mail")
    		    return false
    		 }
    		
    		 if (str.indexOf(" ")!=-1){
    		    alert("Please Enter a Valid E-mail")
    		    return false
    		 }
    
     		 return true					
    	}
    
    function validate_form(thisform)
    {
    with (thisform)
      {
      if (validate_required(Name,"Name must be filled out!")==false)
      {Name.focus();return false;}
      if (validate_required(Surname,"Surname must be filled out!")==false)
      {Surname.focus();return false;}  
      {
    	var emailID=document.submitting.email
    	
    	if ((emailID.value==null)||(emailID.value=="")){
    		alert("Please Enter a Valid E-mail")
    		emailID.focus()
    		return false
    	}
    	if (echeck(emailID.value)==false){
    		emailID.value=""
    		emailID.focus()
    		return false
    	}
    	return true
     }
      }
    }
    
    </script>
    
    </HEAD>
    
    
    <BODY>
    
    <h3>Quiz</h3>
    
    <form name="quiz">
    1. What do i win at..?
    <ul style="margin-top: 1pt">
      <li><input type="radio" name="q1" value="Life">Life</li>
      <li><input type="radio" name="q1" value="Nothing At All">Nothing At All</li>
      <li><input type="radio" name="q1" value="Using a Computer">Using a Computer</li>
    </ul>
    
    2. My Life is..?
    <ul style="margin-top: 1pt">
      <li><input type="radio" name="q2" value="Boring">Boring</li>
      <li><input type="radio" name="q2" value="Disturbing">Disturbing</li>
      <li><input type="radio" name="q2" value="Like everyone elses">Like everyone elses</li>
    </ul>
    3. I don't learn off my mother i learn off ..?
    <ul style="margin-top: 1pt">
      <li><input type="radio" name="q3" value="Google">Google</li>
      <li><input type="radio" name="q3" value="Yahoo Answers">Yahoo Answers</li>
      <li><input type="radio" name="q3" value="The Bible">The Bible</li>
    </ul>
    4. I Spend Most of my time ..?
    <ul style="margin-top: 1pt">
      <li><input type="radio" name="q4" value="Cutting Down Palm Tree's">Cutting Down Palm Tree's</li>
      <li><input type="radio" name="q4" value="Eating">Eating</li>
      <li><input type="radio" name="q4" value="Playing Video Games in the Basement">Playing Video Games in the Basement</li>
    </ul>
    5. I Complain the most about ..?
    <ul style="margin-top: 1pt">
      <li><input type="radio" name="q5" value="JavaScript">JavaScript</li>
      <li><input type="radio" name="q5" value="About the portion of my Sandwich">About the portion of my Sandwich</li>
      <li><input type="radio" name="q5" value="Lag">Lag</li>
    </ul>
    
    <input type="button" value="Get score" onClick="getScore(this.form)">
    <input type="reset" value="Clear answers">
    <p> Score = <strong><input class="bgclr" type="text" size="5" name="percentage" disabled></strong><br><br>
    Correct answers:<br>
    <textarea class="bgclr" name="solutions" wrap="virtual" rows="4" cols="30" disabled>
    </textarea>
    </form>
    <form action="submit.htm" onsubmit="return validate_form(this)" method="post" name="submitting">
    Name: 
    <input type="text" name="Name" size="30">
    <br>
    <br>
    
    Surname: <input type="text" name="Surname" size="30"><br><br>
    Email: <input type="text" name="email" size="30"><br>
    <form action="submit.htm" onSubmit="return validate_form(this)" method="post">
    <input type="submit" value="Submit" >
    </form>
    </body>

  • #2
    Supreme Master coder! Philip M's Avatar
    Join Date
    Jun 2002
    Location
    London, England
    Posts
    17,928
    Thanks
    203
    Thanked 2,531 Times in 2,509 Posts

  • Users who have thanked Philip M for this post:

    bubble00000 (06-16-2010)


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •