假设我有一个收集名字和姓氏的表格:
$first_name = new Zend_Form_Element_Text('first_name');
$first_name->setLabel("First Name")
->setRequired(true);
$last_name = new Zend_Form_Element_Text('last_name');
$last_name->setLabel("Last Name")
->setRequired(true);
$form = new Zend_Form();
$form->addElement($first_name)
->addElement($last_name)
如果我想在表单上使用“populate($ data)”或“setDefaults($ data)”方法,那么数组是如何组织的呢?这些函数期望什么样的数组?我无法在文档中找到这些信息。
另外,我知道我可以在创建元素时设置值,但这不是我需要的。
答案 0 :(得分:14)
form-> populate()方法采用一个数组,其中键是其名称 表格字段。
Zend_Db_Table_Row对象实现了一个可以使用的toArray()方法 在这里(和许多其他对象一样)。所以你可以这样做:
$form = new MyForm;
$table = new MyTable;
$rowset = $table->find($id);
$row = $rowset->current();
$form->populate($row->toArray());
答案 1 :(得分:13)
数组键是字段名称,数组值是字段值。
$data = array( 'first_name' => 'Mickey', 'last_name' => 'Mouse' );
答案 2 :(得分:8)
仅供参考 - 在Zend_Form中,$form->populate($data)
只需拨打$form->setDefaults($data)
。
答案 3 :(得分:0)
简单,创建一个数组
$data = array('nameInput'=> 'your value');
将您的表单添加到您的视图
$this->view->form = $form;
然后您将数据添加到表单
$form->populate($data);