我需要传递值和其他几个值,具体取决于选中的复选框。我发现在这里发布了几次其他时间来依赖html,并在复选框之前传递一个隐藏值:
<input type="hidden" value="0" name="B_1" />
<input type="checkbox" value="1" name="B_1" />
<input type="hidden" value="0" name="B_2" />
<input type="checkbox" value="1" name="B_2" />
<input type="hidden" value="0" name="B_3" />
<input type="checkbox" value="1" name="B_3" />
然后在php中我根据这些复选框进行不同的关联:
$b = "Buyers";
$bv1 = "Not a web item";
$bv2 = "Need sample";
$bv3 = "Sample not available";
if ($_POST['B_1']) { $b1 = array( $b , $bv1 , $_POST['B_1'] ); }
if ($_POST['B_2']) { $b2 = array( $b , $bv2 , $_POST['B_2'] ); }
if ($_POST['B_3']) { $b3 = array( $b , $bv3 , $_POST['B_3'] ); }
当我使用print_r
时,我只看到我检查过的那些盒子的数组:
Array ( [0] => Buyers [1] => Not a web item [2] => 1 )
我希望看到所有数组都返回,无论复选框的状态如何。
Array ( [0] => Buyers [1] => Not a web item [2] => 0 )
Array ( [0] => Buyers [1] => Need sample [2] => 1 )
Array ( [0] => Buyers [1] => Sample not available [2] => 0 )
答案 0 :(得分:2)
我根本没有看到隐藏字段的使用(同样,它们不应该与其他元素具有相同的名称,除非该字段是数组)。如果您不使用它们,我建议您将HTML更改为:
<input type="checkbox" value="B_1" name="B_1" />
<input type="checkbox" value="B_2" name="B_2" />
<input type="checkbox" value="B_3" name="B_3" />
您可以在复选框元素value
属性中存储所需的任何值。
如果您需要所有数组,无论是否选中这些框,都应删除if
:
$b1 = array( $b , $bv1 , $_POST['B_1'] );
$b2 = array( $b , $bv2 , $_POST['B_2'] );
$b3 = array( $b , $bv3 , $_POST['B_3'] );