打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
php – zf2,表单集合没有在zf2中创建正确的输入名称

我正在尝试创建,用于颜色输入字段的html集合..这将使用javascript动态添加

我的ColorFieldset代码是

namespace Dashboard\Form;use Zend\Form\Fieldset;use Zend\InputFilter\InputFilterProviderInterface;class ColorFieldset extends Fieldset implements InputFilterProviderInterface{    public function __construct()    {        parent::__construct('color');        $this->add(array(            'name' => 'hash',            'options' => array(                'label' => 'Color'            ),            'attributes' => array(                'required' => 'required',                'class'   => 'input-mini'            )        ));    }    /**     * @return array     \*/    public function getInputFilterSpecification()    {        return array(            'hash' => array(                'required' => true,            )        );    }}

并将其添加到表单中

$this->add(array(    'type' => 'Zend\Form\Element\Collection',    'name' => 'colors',    'options' => array(        'count' => 2 ,        'should_create_template' => true,        'allow_add' => true,        'target_element' => array(            'type' => 'Dashboard\Form\ColorFieldset'        )    )));

并在我的视图文件.. colors.phtml

<div id="colors_container" class="">     <?php  echo $this->formCollection( $form->get('colors')); ?></div>

它的打印输出就像

<div class="" id="colors_container">   <label><span>Color</span><input type="text" value="" class="input-mini" required="required" name="hash"></label>   <label><span>Color</span><input type="text" value="" class="input-mini" required="required" name="hash"></label>   <span data-template='<label><span>Color</span><input name="hash" required="required" class="input-mini" type="text" value=""></label>'></span></div>

它应该打印像…在zf2 manual 2.0解释

<div class="" id="colors_container">   <label><span>Color</span><input type="text" value="" class="input-mini" required="required" name="colors[0][hash]"></label>   <label><span>Color</span><input type="text" value="" class="input-mini" required="required" name="colors[1][hash]"></label>   <span data-template='<label><span>Color</span><input name="colors[__index__][hash]" required="required" class="input-mini" type="text" value=""></label>'></span></div>

我希望html输入名称为颜色[__ index __] [hash].但它打印名称为< input type =“text”value =“”class =“input-mini”required =“required”name =“hash”> .

在上面的例子中.我只会在post $_POST [‘hash’]中获得一个颜色名称.

为什么zf2不打印< input type =“text”value =“”class =“input-mini”required =“required”name =“colors [0] [hash]”> ?请告诉我的代码有什么问题.

解决方法:

哦,我终于找到了答案.我得打电话

$form->prepare();

在视图中渲染任何内容之前.现在它有效

来源:https://www.icode9.com/content-1-337601.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Web Service 使用
jQuery:1.5.3,表单验证(父级(parent)层次追加(apped))
bootstrap 模态框 传值
转贴:jquery.validate全攻略
jQuery Validate验证框架详解
jQuery验证控件jquery.validate.js使用说明 中文API
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服