サブフォームの要素を作成します。
for($i = 1; $i<10; $i++)
$name = new Zend_Form_Element_Text("[$i][name]");
ただし、[ と ] はページの発送後に削除されます。
では、list[id][name] のような名前を設定する方法は?
サブフォームの要素を作成します。
for($i = 1; $i<10; $i++)
$name = new Zend_Form_Element_Text("[$i][name]");
ただし、[ と ] はページの発送後に削除されます。
では、list[id][name] のような名前を設定する方法は?
使用する
$element->setBelongsTo( $array )
その$arrayでは、必要な数のレベルの[]を定義でき、その数のレベルのサブフォームを作成する必要はありません。そのためにサブフォームを作成する必要はありません。
楽しみ!
$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);
}