我创建了一个扩展zend窗体的窗体。为了添加新记录,它工作正常。但我想要相同的表单来更新记录。所以表单字段被设置为正在编辑的记录?这种情况的最佳做法是什么?如何使用一个zend表单创建添加 - 编辑功能?
2
A
回答
3
如果你想重用的形式填充,这是很简单的:
不要把行动的形式,在你的控制器分配的动作
$form->setAction('/path');
(这也将重写动作,你在表单中设置)删除目前不需要的任何表单元素,通常添加表单会包含更多元素,然后是更新表单。
$form->removeElement('elementName');
更改任何需要更改的标签。
$form->submit->setLabel('Update');
预填充数据表单。
$form->populate('dataArray');
然后就像平常一样处理表格。
2
填充与来自DB数据控制器的形式,但如果形式提交,它将被$_POST
数据从用户
$entityData = $model->getSomeEntity(); //and perhaps ->toArray() if applicable
$form->populate($entityData);
if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
$newData = $form->getValues();
//$model->update($newData, ...);
}
相关问题
- 1. 如何在创建后编辑功能
- 2. 如何创建一个附加功能
- 3. Django,如何使用m2m链接为添加/编辑对象创建表单?
- 4. 在Clojure中,我如何创建一个“添加地图”功能?
- 5. 如何使编辑功能
- 6. 如何使用相同的django表单编辑/添加对象?
- 7. Zend表单:如何创建一个用于检查唯一用户名的“创建账户表单”?
- 8. 如何编辑在Angular2上使用单个表单创建的项目?
- 9. 使用相同的部分将表单添加到创建和编辑动作
- 10. 在Umbraco中创建用于添加/编辑/删除/搜索功能的输入表单
- 11. 创建一个简单的表单应用程序来编辑一个文本
- 12. 动态创建一个可编辑表
- 13. 创建一个可编辑的HTML表
- 14. 使用Javascript在动态创建的表单上添加验证功能
- 15. 如何创建表单以编辑一对多关系?
- 16. 如何在zend中创建表单
- 17. 我可以使用一个表单添加和编辑列表项目吗?
- 18. MVC C#编辑功能是添加而不是编辑
- 19. iTextSharp创建另一个PDF并添加表单数据
- 20. 如何将以下功能添加到Atom编辑器?
- 21. Eclipse插件开发:如何将功能添加到编辑
- 22. 使用MongoMapper创建一个用于编辑嵌入式文档的表单
- 23. Zend表单创建动态添加元素
- 24. 如何创建一个快速界面来编辑/删除/添加数据库?
- 25. 如何根据功能从另一个列表创建列表?
- 26. 功能创建/添加另一个选择(下拉框)
- 27. 轻型CMS的建议,简单可编辑和附加功能?
- 28. 如何创建一个功能在html链接上使用
- 29. 添加委托功能第一单用
- 30. 在php中创建具有编辑功能的表格
昨天你问我同样的问题,看看[我的回答](http://stackoverflow.com/questions/9482594/zend-form-validator-callback-how-to-exclude-a-username) (最后的评论)。请注意,为了使事情更容易,您应该使您的数据库列名称与您的表单字段名称匹配。 – Liyali 2012-02-29 12:51:54