我有一个问题与zend表单复选框。
$this->addElement('checkbox', 'languages', array(
'label' => 'Languages',
'class' => 'check_1',
'name' => 'checkset',
'checkedValue' => '1',
'uncheckedValue'=> '0'
));
我创建了这个复选框,并覆盖了checkedValue和uncheckedValue,但是当我调试它时,它有完全不同的值:
$values = $form_duplicate->getValues();
var_dump($values);
结果如下:
["languages"]=> string(1) "0"
我不明白问题出在哪里。我在zend文档页面上查找,这就是它必须的方式。 我不确定我理解你的问题,但是你可以使用setCheckedValue
和setUncheckedValue
方法来改变默认值,像这样:
$langages = new Zend_Form_Element_Checkbox('languages', array(
'label' => 'Languages',
'class' => 'check_1',
'name' => 'checkset'
));
$langages->setCheckedValue('value_check');
$langages->setUncheckedValue('value_uncheck');
$this->addElement($langages);
和恢复您的值:
if ($this->getRequest()->isPost()) {
$formData = $this->getRequest()->getPost();
// isValid($formData) filled the form with the datas returned
if ($form_duplicate->isValid($formData)) {
// treatment
}
$values = $form_duplicate->getValues();
var_dump($values);
}