我有一个3层表单结构。
有一个主要形式,frmMain(更像是一个容器形式),它有一些子形式,例如 frmSubFacts 。这些子形式如 frmSubFacts 有子形式;例如: frmTabSubCountry 。最里面的子表单包含表单元素,如文本字段。这些是使用表单级别的setBelongsTo方法进行分组的。
代码使用ZendX_JQuery在两个制表符行中呈现这些表单 frmSubFacts 和其他外部子表单位于顶部标签内,并且根据用户选择,子表单(例如 frmTabSubCountry )沿第二个内部标签行显示。
表格呈现得很好。唯一的问题是以编程方式将值设置为最里面的子表单中的字段/元素。
元素字段名称根据其层次结构和关系呈现,以便文本框名称可以是:事实[国家] [county_name] 。
但是,如何为此字段指定值?我尝试了以下选项:
$arrFormData['Facts[Country][county_name]'] = 'Singapore';
$Form->populate(array('Facts'=>
array('Country'=> array('country_name'=> 'Singapore'))));
$form->Facts->Country->country_name->setValue('Singapore');
$form->getSubForm('Facts')
->getSubForm('Country')
->getElement('country_name')->setValue('Singapore');
虽然应用程序呈现良好且POST操作符合预期,但获取“事实”子表单后获取子表单的最后一行失败。谢谢你的帮助
答案 0 :(得分:0)
检查这是否有帮助:
$this->element->Facts->Country->country_name->setValue('Singapore');