1

サブフォームの要素を作成します。

for($i = 1; $i<10; $i++)
     $name = new Zend_Form_Element_Text("[$i][name]");

ただし、[ と ] はページの発送後に削除されます。

では、list[id][name] のような名前を設定する方法は?

4

2 に答える 2

1

使用する

$element->setBelongsTo( $array )

その$arrayでは、必要な数のレベルの[]を定義でき、その数のレベルのサブフォームを作成する必要はありません。そのためにサブフォームを作成する必要はありません。

楽しみ!

于 2011-05-31T16:21:36.090 に答える
1

$i ごとに別の Zend_Form_SubForm を作成します。

for ($i = 1; $i < 10; $i++) {
    $subform = new Zend_Form_SubForm();
    $subform->addElement('text', 'name');
    $mainform->addSubForm($subform, $i);
}

テキスト要素には、「1[name]」、「2[name]」などの名前が付けられます。それらに「list[1][name]」という名前を付けたい場合は、別のレベルのサブフォームが必要です。

$listform = new Zend_Form_SubForm();
$mainform->addSubForm($listform, 'list');
for ($i = 1; $i < 10; $i++) {
    $listsubform = new Zend_Form_SubForm();
    $listsubform->addElement('text', 'name');
    $listform->addSubForm($listsubform, $i);
}
于 2011-05-31T14:28:51.323 に答える