1

私は3層のフォーム構造を持っています。

frmSubFactsなどのサブフォームを持つメインフォームfrmMain(コンテナフォームのように機能します)がありますまた、 frmSubFactsなどのこれらのサブフォームにはサブフォームがあります。例:frmTabSubCountry。最も内側のサブフォームには、テキストフィールドなどのフォーム要素が含まれています。これらは、フォームレベルでsetBelongsToメソッドを使用してグループ化されます。

コードはZendX_JQueryを使用して、これらのフォームを2つのタブ行にまたがってレンダリングし、 frmSubFactsおよびその他の外側のサブフォームが上部のタブ内にあり、ユーザーの選択に基づいて、サブサブフォーム(frmTabSubCountryなど)が2番目の内側のタブ行に沿って表示されます。

フォームはうまくレンダリングされます。唯一の問題は、プログラムで最も内側のサブフォーム内のフィールド/要素に値を設定することです。

要素フィールドの名前は、テキストボックス名が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 に答える