Zend_Form - 基于multiArray的元素

时间:2011-09-05 13:48:55

标签: php zend-form zend-form-element

使用Zend_Form,我将如何创建这样的表单元素:

<input type="text" name="element[0][name]" value="" />
<input type="text" name="element[0][text]" value="" />
<input type="text" name="element[1][name]" value="" />
<input type="text" name="element[1][text]" value="" />

1 个答案:

答案 0 :(得分:1)

您必须使用子表单:

$form = new Zend_Form;

// 'element'
$elements = new Zend_Form_SubForm();
$form->addSubForm($elements, 'element');

每个元素都是'elements'子表单的子表单:

$element = new Zend_Form_SubForm;
$element->addElement('Text', 'name');
$element->addElement('Text', 'text');
$elements->addSubForm($element, '0');

$element = new Zend_Form_SubForm;
$element->addElement('Text', 'name');
$element->addElement('Text', 'text');
$elements->addSubForm($element, '1');

在控制器中,您可以迭代这样的元素:

foreach($form->elements as $element) {
    var_dump($element->getValue('name'));
}