您必须使用子窗体来获得您要查找的结果。该文档是相当兜风,但你可以找到它here
使用的是什么,我发现那里,我构建了以下formL
<?php
class Form_Test extends Zend_Form {
public function init() {
$this->setMethod('post');
$this->setIsArray(true);
$this->setSubFormDecorators(array(
'FormElements',
'Fieldset'
));
$subForm = new Zend_Form(array('disableLoadDefaultDecorators' => true));
$subForm->setDecorators(array(
'FormElements',
));
$subForm->addElement('hidden', 'contacts', array(
'isArray' => true,
'value' => '237',
'decorators' => Array(
'ViewHelper',
),
));
$subForm2 = new Zend_Form(array('disableLoadDefaultDecorators' => true));
$subForm2->setDecorators(array(
'FormElements',
));
$subForm2->addElement('hidden', 'contacts', array(
'isArray' => true,
'value' => '456', 'decorators' => Array(
'ViewHelper',
),
));
$this->addSubForm($subForm, 'subform');
$this->addSubForm($subForm2, 'subform2');
$submit = new Zend_Form_Element_Submit('submit');
$submit->setValue('Submit');
$this->addElement('submit', 'submit');
}
}
至极输出这个网站:
<form enctype="application/x-www-form-urlencoded" method="post" action=""><dl class="zend_form">
<input type="hidden" name="contacts[]" value="237" id="contacts">
<input type="hidden" name="contacts[]" value="456" id="contacts">
<dt id="submit-label"> </dt><dd id="submit-element">
<input type="submit" name="submit" id="submit" value="submit"></dd></dl></form>
当submited后看起来像:
array(2) {
["contacts"] => array(2) {
[0] => string(3) "237"
[1] => string(3) "456"
}
["submit"] => string(6) "submit"
}
所以这是你如何创造e您寻求的形式。希望这可以帮助!如果你有问题发表评论!
如果你问我的话,它会很冒险。你基本上创建了子表单,但是在那里禁用了表单装饰器,所以只有元素得到输出。由于相同的contacts []元素是不同的形式对象zend不会覆盖它们,它的工作原理。但是,是的..
编辑:改变了一下,删除标签和垃圾arount隐藏输入。
这会产生,但是如果你需要联系人[123]和号码[123] – max4ever 2012-09-20 08:34:32
我有一个需要添加到我的zend分页控件的可变长度数组。我做了以下:'$ this-> formHidden($ key。“[”。$ k。“]”,$ v,array('belongsTo'=> $ key));' – thepriebe 2012-11-29 23:13:28