如何获取所有单选按钮及其文本框值?

时间:2014-04-01 09:51:51

标签: php jquery

说明:在表单上出现带有文本框的单选按钮。他们的count =您在文本框中输入的计数。在test.php文件中,我需要获取所有单选按钮及其文本框值,无关紧要 - 选中,未选中的单选按钮状态。

错误是我只获得了radiobutton和textbox的最新值。我没有看到以前的radiobuttons和文本框的值。

<!doctype html>
<html lang="en">
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
function getnewElementID()
{
    var elementID = 0;
    if($(".form-element").length > 0)
        elementID = $(".form-element").length;
    return elementID;
}

$(document).ready(function() {
    $('#ok1').click(function () {
    var n = $('#box1').val();
    var index = 0;
    var newElementID = getnewElementID();

    if($(".RadioDiv").length > 0)
    index = $(".RadioDiv").length;

    var newElement = "<div class='RadioDiv form-element'><input type='hidden' name='RadioElements["+newElementID+"]' value='radiogroup'/>\n<input  type='text' size='50' name='RadioElementsQueations["+newElementID+"]'  placeholder='question...' >";

        for (var i=1;i<=n;i++)
        {
            newElement+="<ol><input type='radio' name='RadioElementsValues["+newElementID+"]' value='radio_"+index+"' for='RadioElementsValuesText["+newElementID+"]'>\n\<input type='text' id='radtext' name='RadioElementsValuesText["+newElementID+"]'  size='30' value='choice.."+index+"' ></ol>";
        index++;
        }

    newElement+="</div>";
    $("#myForm").append(newElement);
});});


 $(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" action="test.php">
        <label>Select your favourite Activities:</label><br/>
        <input type="button" name="ok" value="ok" id="ok1">
        <input type="text" value="" id="box1" name="count" size="1"><br/>
        <input type="submit" id="submit"/> <br/>
    </form>
<div id="message"></div>

</body>
</html>

test.php的

<?php 
    var_dump($_POST); 

    $elements = $_POST['RadioElementsValuesText'];
    if(is_array($elements));
     for ($index = 0; $index<sizeof($elements);$index++)
     {
        $astring = implode("<br/>", $elements);
        echo "Choices: ". $astring."<br/>";
    }
?>

1 个答案:

答案 0 :(得分:0)

您应该使用复选框而不是单选按钮。 在帖子请求中,只会为组名发送一个单选按钮值(此处为'RadioElementsValuesText')。

使用javascript重现复选框上的单选按钮行为(一次只检查一个)。