1

我有一段代码在通过 Ajax 单击特定按钮时加载。

我给每个输入一个名字,比如txtname[],country[]radiobtn[].

问题是,当我两次填充这三个字段并在第二次迭代中选择一个单选按钮然后通过打印帖子数组时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] => 真)

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

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>
4

1 回答 1

0

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

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

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

对于多个选择,您可能想看看哪个可以为同名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>
于 2013-04-11T13:18:36.540 回答