2010-07-13 6 views
0

J'utilise:jQuery: entrée [valeur] avec les boutons radio

var data = $("form :input[value]"); 

Pour obtenir toutes les valeurs sous une forme et transmettre les données à un script ajax.

Mon problème est qu'il ne fonctionne pas avec les boutons RADIO - il envoie toujours la dernière valeur pour le groupe radio.

Des idées sur la façon d'obtenir le bouton radio coché avec toutes les autres valeurs de formulaire?

Répondre

1

Vous êtes peut-être à la recherche de la méthode .serialize().

var data = $('form').serialize(); 

Remarque: .serialize() ne sérialise contrôles d'entrée qui ont un attribut name.

Référence: .serialize()

0

pour les boutons radio, vous devez vérifier l'attribut checked.

0
<!doctype html> 
<html lang="en"> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script> 
// serialize() will get all data from form with id "myform" and store it in data variable, that will be sent to test.php page. 

    $(document).ready(function() { 
     $('#submit').click(function() { 

     var data = $("#myForm").serialize(); 

     if($('input[type="radio"]:checked').length == "0") {  
       alert("Select any value");  
     } else {      
       $.post ( 
        "test.php", 
        data, 
        function (response) { 
        $('#message').html(response); 
        } 
       ); 
     } 
     return false;   
     }); 

    }); 
</script> 

</head> 
<body> 
    <form id ="myForm"> 
     <label>Name</label> 
     <input type="text" name="name" id="name"/> <br/><br/> 
     <br/> 
     <label>Select your favourite Activities:</label><br/> 
     <input type="radio" name="reading" value="reading"> Reading<br /> 
     <input type="radio" name="programming" value="programming"> Programming<br /> 

     <input type="submit" id="submit"/> 
    </form> 
<div id="message"></div> 

</body> 
</html> 

test.php 
<?php 

    var_dump($_POST); 

    $name = $_POST['name']; 
    echo "Welcome ". $name.'!<br/>'; 

?> 
+0

serialize() recevra toutes les données du formulaire avec l'identifiant "myform" et le stockera dans la variable de données, qui sera envoyée à la page test.php –

Questions connexes