我有多个单选按钮,其名称与数组名称相同且值相同

时间:2018-07-27 09:53:13

标签: php html arrays

我有多个单选按钮,它们的名称与数组相同,并且所有值均相同。

   <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

3 个答案:

答案 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之类的数组键。