min*_*gos 6 arrays zend-framework zend-form
我想创建一个表单,允许用户使用数组表示法输入任意数量的值,每个值都在一个单独的文本字段中.预期HTML输出的示例是:
<dd id="dupa-element">
<input type="text" name="dupa[]" value="">
<input type="text" name="dupa[]" value="">
</dd>
Run Code Online (Sandbox Code Playgroud)
但是,我似乎找不到在单个元素中引入多个输入元素的方法,使用不带索引的数组表示法.
目前,我这样做:
$elt1 = new Zend_Form_Element_Text('1');
$elt1->setOptions(array('belongsTo' => 'dupa'));
$elt2 = new Zend_Form_Element_Textarea('2');
$elt2->setOptions(array('belongsTo' => 'dupa'));
Run Code Online (Sandbox Code Playgroud)
虽然这有效,Zend_Form将这些视为独立元素(可以有不同的验证器和过滤器集 - 这很酷),结果HTML就是这样的:
<dd id="dupa-1-element">
<input type="text" name="dupa[1]" id="dupa-1" value="">
</dd>
<dd id="dupa-2-element">
<input type="text" name="dupa[2]" id="dupa-2" value="">
</dd>
Run Code Online (Sandbox Code Playgroud)
是否有(最好是简单的)方法来实现我之后的无索引数组符号?
我会遵循MWOP 关于创建复合元素的教程。更多的工作,但比 akond 的解决方案更少的尝试和错误。对我来说基本想法是扩展Zend_Form_Element_Multi(你想要的是 Zend_Form_Element_Multiselect/MultiCheckbox 的工作原理)。
| 归档时间: |
|
| 查看次数: |
961 次 |
| 最近记录: |