Ant*_*ony 2 forms zend-framework get zend-form
作为ZF的补充:如何检查GET请求?.
我有两个输入字段和一个复选框.形式是标准的.
public function init()
{
$this->setMethod('GET');
$new = new Zend_Form_Element_Checkbox('new');
$new->setLabel('New')
->setOrder(3);
$app = new Zend_Form_Element_Select('app');
$app->setLabel('System')
->setOrder(2)
->setRequired()
->addMultiOptions(array('0' => ' ----------- ') + $applications);
$cat = new Zend_Form_Element_Select('cat');
$cat->setLabel('Theme')
->setOrder(1)
->setRequired()
->addMultiOptions(array('0' => ' ----------- ') + $categories);
$submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel('Search')
->setOrder(4);
$this->addElements(array(
$cat, $app, $new, $submit
));
}
Run Code Online (Sandbox Code Playgroud)
1)我在新的地址为0时进行提交:http://site.com/?cat = 0&app = 0&new = 0
2)我在新的地址为1时提交:http://site.com/?cat = 0&app = 0& new = 0&new = 1
为什么新字段会重复?如果new = 1,如果new = 0,则我会很好
我认为这是因为Zend_From在您的复选框旁边创建了一个隐藏的输入字段.这样做是因为当未选中复选框时,根据定义,没有与复选框关联的值被发送到服务器.所以Zend_Form会创建隐藏字段,以便在取消选中复选框时发送内容.但是,缺点是当选中复选框时,会发送两个值,即隐藏的值和复选框的实际值.