用Zend Form可以轻松生成表单,但是如果要做修改页面,比如修改个人信息,可以通过如下方式为每个元素赋值:

controller:

  1.     public function editAction()
  2.     {
  3.      $request = $this->getRequest();
  4.      $form = new User_Form_BidAdd();
  5.  
  6.   if ($this->getRequest()->isPost() && $form->isValid($request->getPost()))
  7.   {
  8.    $_POST['user_id'] = Zend_Auth::getInstance()->getStorage()->read()->id;
  9.    $_POST['addtime'] = time();
  10.    $cls = new Db_Model_Bid($_POST);
  11.    $cls->save();
  12.   }
  13.  
  14.   $cls = new Db_Model_Bid();
  15.   $bid = $cls->find($request->bid);
  16.   $form->populate($bid->toArray());
  17.  
  18.      $this->view->form = $form;
  19.     }

其中的$form->populate($bid->toArray());默认将数据库字段名称作为key,值作为value,给相应的form元素赋值,即可达到修改表单的效果,而不用自己一个一个去赋值。

发表评论

电子邮件地址不会被公开。 必填项已用*标注