1

我有一个 3 层表单结构。

有一个主窗体 frmMain(它更像是一个容器窗体),它具有子窗体,例如frmSubFacts。而frmSubFacts等这些子表单都有子表单;例如:frmTabSubCountry。最里面的子表单包含表单元素,例如文本字段。这些在表单级别使用 setBelongsTo 方法进行分组。

该代码使用 ZendX_JQuery 跨 2 个选项卡行呈现这些表单,以便 frmSubFacts和其他外部子表单位于顶部选项卡内,并且根据用户选择,子子表单(例如frmTabSubCountry)沿第二个内部选项卡行显示。

表单呈现良好。唯一的问题是以编程方式为最里面的子表单中的字段/元素设置值。

元素字段名称根据其层次结构和关系呈现,因此文本框名称可以是:Facts[Country][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 操作符合预期,但获取子表单的最后一行在获取“事实”子表单后失败。感谢您的帮助

4

1 回答 1

0

检查这是否有帮助:

$this->element->Facts->Country->country_name->setValue('Singapore');
于 2012-08-01T00:57:24.023 回答