Zend Form做修改页面
用Zend Form可以轻松生成表单,但是如果要做修改页面,比如修改个人信息,可以通过如下方式为每个元素赋值:
controller:
public function editAction()
{
$request = $this->getRequest();
$form = new User_Form_BidAdd();
if ($this->getRequest()->isPost() && $form->isValid($request->getPost()))
{
$_POST['user_id'] = Zend_Auth::getInstance()->getStorage()->read()->id;
$_POST['addtime'] = time();
$cls = new Db_Model_Bid($_POST);
$cls->save();
}
$cls = new Db_Model_Bid();
$bid = $cls->find($request->bid);
$form->populate($bid->toArray());
$this->view->form = $form;
}
其中的$form->populate($bid->toArray());默认将数据库字段名称作为key,值作为value,给相应的form元素赋值,即可达到修改表单的效果,而不用自己一个一个去赋值。