我有多个单选按钮,它们的名称与数组相同,并且所有值均相同。
<input type="radio" name="radio_name[]" id="radi_name" value="1" checked>
<label for="radio1">Set as Default</label>
<input type="radio" name="radio_name[]" id="radi_name" value="1" >
<label for="radio1">Set as Default</label>
<input type="radio" name="radio_name[]" id="radi_name" value="1" >
<label for="radio1">Set as Default</label>
<input type="radio" name="radio_name[]" id="radi_name" value="1" >
<label for="radio1">Set as Default</label>
在我这样使用的php中
$a[]=$_post['radio_name'];
prinr_r($a);
我正在得到这样的结果:
Array ( [0] => 1 )
如果我取消选中设置为零的按钮,我希望结果像这样
Array ( [0] => 1,[1] => 0,[2] => 0,[3] => 0 )
请检查这张图片 i have form like this
答案 0 :(得分:2)
您只需要使用[]
而不是数组键,也可以使用checkbox
而不是radio
。因此,请使用下面的代码为您工作。
<input type="checkbox" name="radio_name[]" id="radi_name1" value="1" checked>
<label for="radio1">Set as Default</label>
<input type="checkbox" name="radio_name[]" id="radi_name2" value="1" >
<label for="radio1">Set as Default</label>
<input type="checkbox" name="radio_name[]" id="radi_name3" value="1" >
<label for="radio1">Set as Default</label>
<input type="checkbox" name="radio_name[]" id="radi_name4" value="1" >
<label for="radio1">Set as Default</label>
答案 1 :(得分:1)
如果没有选择任何值,我很确定单选按钮不会发送到服务器。在您的html中,您实际上有4个不同的单选按钮组,因此只有那些具有选定值的按钮组才会发送。
如果要让4个组始终为每个组发送一个值,则应执行以下操作:
<input type="radio" name="radio_name[1]" value="1" id="radio1" checked>
<input type="radio" name="radio_name[1]" value="0">
<label for="radio1">Set as Default</label>
<input type="radio" name="radio_name[2]" value="1" id="radio2">
<input type="radio" name="radio_name[2]" value="0" checked>
<label for="radio2">Set as Default</label>
// etc.
这样,您将拥有独立的单选按钮组,并会得到想要的结果。
答案 2 :(得分:0)
您必须使用复选框而不是单选。广播只允许发布1个值,并删除建议的dipmala之类的数组键。