获取具有不同名称的单选按钮的表单数据

时间:2016-01-14 16:34:28

标签: javascript php jquery ajax

我的php页面包含一个带有多个不同名称的单选按钮的表单,如下所示:

for( $i=1; $i<=$unknownNumber; $i++ ){

echo("<input type=\"radio\" name=\""."radio".$i."\" value=\"cercle\" onchange=\"submit(this.form)\" checked >");
echo("<input type=\"radio\" name=\""."radio".$i."\" value=\"rectangle\"  onchange=\"submit(this.form)\" >");
echo("<input type=\"radio\" name=\""."radio".$i."\" value=\"triangle\"   onchange=\"submit(this.form)\" >");

}

如何从流程php页面通过$_POST[" ? "]获取表单数据?

我不知道我应该在$_POST["..."]的引用中写什么,因为单选按钮的名称不同。

我的一位朋友建议我通过以下方式获取这些数据,

foreach ($_POST as $answer) {


}

我使用此方法获取它们,但我被阻止使用ajax。

$(document).ready(function() {

    $('#myForm').on('submit', function() {

        var radio = $('#....').val(); // I dont know which name i should use here

        $.post( "process.php", { radio: ? }, function(data){ 

            alert('Good');

        });

        return false; 
    });

});

1 个答案:

答案 0 :(得分:1)

我修改了你的代码。在php中删除了onclick事件

for( $i=1; $i<=$unknownNumber; $i++ ){

   echo("<input type=\"radio\" name=\""."radio".$i."\" value=\"cercle\" checked>");
   echo("<input type=\"radio\" name=\""."radio".$i."\" value=\"rectangle\">");
   echo("<input type=\"radio\" name=\""."radio".$i."\" value=\"triangle\">");
}

JS修改了这个

$(document).ready(function() {

    $('input[name^="radio"]').on('click', function() {
        $.post( "process.php", $("#myForm").serialize(), function(data){
            alert('Good');
        });
    });
});

每次点击收音机到您的PHP脚本后,“process.php”将以完整的形式发送。这里有一个例子:POST数据:

  

收音机1:三角形

     

第二广播电台:色格拉

     

radio3:三角形

根据此要求,您将拥有

$_POST["radio1"]='triangle'; 
$_POST["radio2"]='cercle';
$_POST["radio3"]='triangle';

更新!!!!

在Chrome开发者工具中,您可以看到像In chrome developer tools you can see smth like this

这样的smth

这是我的process.php

$myArray = $_POST;
var_dump($myArray);

this code outputs