我想提交一个包含许多具有不同值的复选框的表单,使用firebug我确信复选框值是发送到服务器的,但是当我print_r post变量的值时,只打印最后一个值并且igoring其他值。
<input type="checkbox" name="fruits" value="apple" />
<input type="checkbox" name="fruits" value="orange" />
<input type="checkbox" name="fruits" value="banana" />
并在我打印请求参数时在服务器中
$formData = $this->getRequest()->getPost();
print_r($formData);
即使我选择了所有这些选项,也只打印了最后一个选项,并且firebug显示所有选项!
答案 0 :(得分:3)
我通过在checkboxex
的名称中设置[]来解决它<input type="checkbox" name="fruits[]" value="apple" />
<input type="checkbox" name="fruits[]" value="orange" />
<input type="checkbox" name="fruits[]" value="banana" />
答案 1 :(得分:0)
这是ZF做同样的方式
$fruits = new Zend_Form_Element_MultiCheckbox('fruits', array(
'multiOptions' => array(
'apple' => 'Label for apple',
'orange' => 'I am good orange',
'banana' => 'I am banana'
);
));
echo $fruits;