默认选中的复选框未提交

时间:2013-04-02 16:37:18

标签: html

我在网页上有一些复选框,例如:

<input type="checkbox"<?php echo $checked; ?> name="stuff[]" value="First" />

其中$checked为空字符串或checked="checked",具体取决于提交的内容。

我提交表单并(假设至少有一些名为stuff[]的复选框已选中),PHP中的_POST['stuff']是复选框的值数组,例如('first', 'third', 'fourth') 。但是,如果使用checked="checked"预先选中复选框,则框的值(上例中的“第一个”)将被排除在stuff值列表之外。即使用户取消选中该框然后重新检查它,也会被遗漏。

我希望提交的值包含所有已检查的项目,包括预先检查的(而非用户未检查的)项目。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

如果没有看到代码,我会猜测checked="checked"实际上并不是PHP代码输出的内容。相反,您可能错过了",并且导致其余元素的值被混淆。

相反,这样做:

<input type="checkbox" checked="<?php echo $checked; ?>" name="stuff[]" value="First" />

$ checked = checkednull(不含"