在后阵列中没有正确地获得单选按钮

时间:2013-04-11 08:25:22

标签: php post radio-button

我有通过Ajax点击特定按钮时加载的代码块。

我为每个输入指定了txtname[]country[]radiobtn[]等名称。

问题是,当我填写这3个字段两次并在第二次迭代中选择一个单选按钮,然后通过print_r($_POST);

打印帖子数组时

显示以下结果:

[txtname] => Array ( [0] => xyz[1] => abc)[country] => Array ( [0] => India[1] => United Kingdom ) [radiobtn] => Array ( [0] => true )

它不应该显示如下:

  

[txtname] =>数组([0] => xyz [1] => abc)[country] =>数组([0] =>印度[1] =>英国) [radiobtn] =>数组([0] =>“”[1] => true)

那么如何知道选择了哪个迭代单选按钮? 任何帮助赞赏。

HTML

<input type="radio"  name="radiobtn[]" value="true">
<input  type="text" name="txtname[]" >
   <select name="country[]"> 
<option value="country" selected="selected">Select Country</option> 
<option value="United States" >India </option> 
<option value="United Kingdom">United Kingdom</option> 
   </select>

1 个答案:

答案 0 :(得分:0)

您期望来自radiobtn的两个值为radio的值。单选按钮类型应该强制只选择一个项,因此您尝试填充的radiobtn[]数组总是只包含一个值,是true。结果正确显示了这一点:

[radiobtn] => Array ( [0] => true )

每次迭代都会覆盖您的radiobtn[]数组,导致只有最后一个结果存储在$_POST全局变量中。因此,[]中的radiobtn[]毫无意义,因为永远不会有多个值。

对于多个选项,您可能需要查看type="checkbox",它可以为同一个名称存储多个值。一个例子是:

<input type="checkbox" name="btn[]" value="A">A</input>
<input type="checkbox" name="btn[]" value="B">B</input>
<input type="checkbox" name="btn[]" value="C">C</input>