www.webdeveloper.com
Results 1 to 5 of 5

Thread: Form Validation (Radio Buttons...)

  1. #1
    Join Date
    Oct 2012
    Posts
    16

    Form Validation (Radio Buttons...)

    Hi Guys,

    I have created a very simple form with a text box and radio buttons. I am using javascript to echo my php in a div but it won't allow me to see which radio button was selected! Nightmare... :-(

    HTML Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    </head>
    
    <body>
    
    <form id="testForm" method="post" >
    
    <input type="text" name="info" >info<br>
    <input type="radio" name="sex" value="male">Male<br>
    <input type="radio" name="sex" value="female">Female
    
    <input type="submit" value="Submit">
    </form> 
    
    <div id="response">
    dafadf
             	<div class="clearer"></div><!--clearer-->
                
             </div><!--response--> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript" src="js/testForm.js"></script>
     
    </body>
    </html>
    Code:
    testForm.js file
    
    $(document).ready(function()
    {
    	$("#testForm").submit(function()
    	{
    		
    		var sex_Js = $("#sex").val();
    		
    		var info_Js = $("#info").val();
    	
    		
    		$("#response").load("../testPhp.php",{
    		
    		sex:sex_Js,
    		
    		info:info_Js
    	
    		});
    		
    	return false;
    	});
    	
    });
    PHP Code:
     <?php


        $nameField_PHP 
    $_POST['sex']; 
        
        
    $info_PHP $_POST['info']; 
        
            echo 
    $info_PHP;
            echo 
    "<br />" $nameField_PHP;
        
        
    ?>
    Why isn't the javascript sending the radio buttons value through to the PHP?

    Many thanks.

  2. #2
    Join Date
    Sep 2008
    Location
    Akron, OH
    Posts
    1,105
    You are targeting ID's, but the inputs don't have ID's ... they are named.

    var sex_Js = $("#sex").val();
    var info_Js = $("#info").val();

    What you want to do is find the radio button that is checked and get the value of that:

    var sex_Js = $('input[name=sex]:checked').val();
    I'm always up for networking with fellow web professionals. Connect with me on LinkedIn if you like!

  3. #3
    Join Date
    Oct 2012
    Posts
    16
    Awesome! Works a treat.

    One slight problem I now: How do I apply a value to the radio buttons if they're unchecked..? So in the PHP file I'll tell it to echo 'Blah blah blah' if male is selected, or 'Yes yes yes' if female is selected, BUT if they don't select either radio button for it to echo 'Please choose a gender'.

    Many thank for your help!

  4. #4
    Join Date
    Nov 2010
    Posts
    978
    afaik, a radio button needs to be selected for its value to be sent to the server.

    you could get around this by having another RB in the group, hidden and selected so that if another one isn't selected that value gets sent:

    Code:
    <input type="radio" name="sex" style="display:none" checked="checked" value="Please choose a gender">

  5. #5
    Join Date
    Oct 2012
    Posts
    16
    You. Are. Awesome!

    Thank you so much for your help!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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



Recent Articles