我有这个html radiobutton:
<td align="center">
<div class="radio radio-info radio-inline">
<input type="radio" id="ok<?php echo $get_cp_id; ?>" value="OK" name="status[<?php echo $get_cp_id; ?>]">
<label for="ok<?php echo $get_cp_id; ?>"></label>
</div>
</td>
<td align="center">
<div class="radio radio-info radio-inline">
<input type="radio" id="ng<?php echo $get_cp_id; ?>" name="status[<?php echo $get_cp_id; ?>]" id="ng" value="NG">
<label for="ng<?php echo $get_cp_id; ?>"></label>
</div>
</td>
当我使用此函数将其处理为PHP时:
$get_status = $_POST['status'];
for ($i=0; $i<sizeof($get_status); $i++)
{
echo $value = $_POST['status'][$i];
}
复选框的某些值不是索引。发现如下错误:
注意:未定义的偏移量:0 ...
答案 0 :(得分:2)
如果您想要选择多个,则可以使用checkbox
代替radiogroup
。试试 -
name="status[]"
没有<?php echo $get_cp_id; ?>
然后它会将其生成为status[0] = value1
status[1] = value2
...
循环将是 -
$get_status = $_POST['status'];
foreach($get_status as $status)
{
echo $value = $status;
}
如果选项名称从1
开始并按顺序进行,您需要在代码中将$i = 0
更改为$i = 1
。
答案 1 :(得分:0)
你正在for循环中的php脚本中检查索引0,1,2 ....如果你在name元素中使用自动索引声明数组,那么它将正常工作。
<input type="radio" id="ok<?php echo $get_cp_id; ?>" value="OK" name="status[][<?php echo $get_cp_id; ?>]">
<input type="radio" id="ng<?php echo $get_cp_id; ?>" name="status[][<?php echo $get_cp_id; ?>]" id="ng" value="NG">