form_end打印不需要的标签

时间:2014-10-29 01:36:31

标签: php forms symfony twig symfony-forms

我在Symfony2创建了一个表单,其中一个字段是collection字段&我以这样的形式使用它:

    {{ form_start(form) }}
        {{ form_errors(form) }}

            ...

            <div>
                {{ form_label(form.tels) }} 
                <a href="#" id="add-another-tel">+</a>
                <ul id="tels-fields-list" data-prototype="{{ form_widget(form.tels.vars.prototype)|e }}">
                {% for telsField in form.tels %}
                    <li>
                        {{ form_errors(telsField) }}
                        {{ form_widget(telsField) }}
                    </li>
                {% endfor %}
                </ul>

                <script type="text/javascript">
                    var telCount = '{{ form.tels|length }}';
                    jQuery(document).ready(function() {
                        jQuery('#add-another-tel').click(function(e) {
                            e.preventDefault();                 
                            var telsList = jQuery('#tels-fields-list');
                            var newWidget = telsList.attr('data-prototype');
                            newWidget = newWidget.replace(/__name__/g, telCount);
                            telCount++;
                            var newLi = jQuery('<li></li>').html(newWidget);
                            newLi.appendTo(telsList);
                        });
                    })
                </script>
            </div>

            ...

        {{ form_rest(form) }}
    {{ form_end(form) }}  

虽然我打电话给{{ form_label(form.tels) }}但是在表格的末尾&amp;调用{{ form_end(form) }}时,会再次打印此字段的标签 所以这个字段有两个标签(一个在正确的位置,另一个在表格的末尾) 这与我拥有的收集字段一样多。

有什么问题?

0 个答案:

没有答案