没有正确获取单选按钮中的单选按钮

问题描述:

我有一段代码,它通过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)

它不应该像显示:

[txtnam e] => Array([0] => xyz [1] => abc)[country] => Array([0] => India [1] => United Kingdom)[radiobtn] => Array([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> 
+0

给我们一些代码嗅探xD – aleation 2013-04-11 08:27:08

+2

单选按钮与数组似乎不正确。 – hjpotter92 2013-04-11 08:33:31

+0

@ hjpotter92怎么样? – 2013-04-11 08:37:06

您从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>