jQuery: ввод [значение] с помощью радиокнопок - PullRequest
0 голосов
/ 13 июля 2010

Я использую:

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

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

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

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

Ответы [ 4 ]

1 голос
/ 13 июля 2010

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

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

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

Ссылка: .serialize ()

1 голос
/ 13 июля 2010

Для этого есть встроенная функция, просто вызовите .serialize(), например:

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

Вы можете увидеть, как она соответствующим образом фильтрует эти элементы здесь.

0 голосов
/ 28 февраля 2014
<!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 голосов
/ 13 июля 2010

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

...