2010-07-13 6 views
0

Я использую:JQuery: вход [значение] с помощью кнопок Radio

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

Чтобы получить все значения в форме и передавая данные в Ajax скрипт.

Моя проблема заключается в том, что он не работает с кнопками RADIO - он всегда отправляет последнее значение для группы радиостанций.

Любые идеи о том, как получить проверочный переключатель вместе со всеми другими значениями формы?

ответ

1

Возможно, вы ищете метод .serialize().

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

Примечание: .serialize() только сериализует входные элементы управления, которые имеют атрибут name.

Ссылка: .serialize()

0

для радио-кнопок необходимо проверять проверяемый атрибут.

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() получит все данные из формы с идентификатором «myform» и сохранит его в переменной данных, которая будет отправлена ​​на страницу test.php –