Javascript django动态表单集显示;加上「;及;删除“;按钮放错地方了

Javascript django动态表单集显示;加上「;及;删除“;按钮放错地方了,javascript,html,django,inline-formset,Javascript,Html,Django,Inline Formset,我的应用程序昨天运行良好。在我开始在浏览器中使用.css属性之后,django dynamic formset脚本突然无法正常工作。它为表单中的每个输入显示“添加”和“删除”按钮,而不是为每一行显示。请看附件中的照片 {% load crispy_forms_tags %} {% load staticfiles %} {% load static %} <table> {{ formset.management_form|crispy }} {% for form in

我的应用程序昨天运行良好。在我开始在浏览器中使用.css属性之后,django dynamic formset脚本突然无法正常工作。它为表单中的每个输入显示“添加”和“删除”按钮,而不是为每一行显示。请看附件中的照片

{% load crispy_forms_tags %}
{% load staticfiles %}
{% load static %}

<table>
{{ formset.management_form|crispy }}

    {% for form in formset.forms %}
            <tr class="{% cycle 'row1' 'row2' %} formset_row-{{ formset.prefix }}">
                {% for field in form.visible_fields %}
                <td>
                    {# Include the hidden fields in the form #}
                    {% if forloop.first %}
                        {% for hidden in form.hidden_fields %}
                            {{ hidden }}
                        {% endfor %}
                    {% endif %}
                    {{ field.errors.as_ul }}
                    {{ field|as_crispy_field }}

                </td>
                {% endfor %}
            </tr>

    {% endfor %}

</table>

<!-- <p class='btn btn-warning' id='agregar'>Agregar Posición</p> -->
<br>
<script type="text/javascript" src="{% static 'admin/js/vendor/jquery/jquery.js' %}"></script>
{{formset.media}}
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="{% static 'dynamic_formsets/jquery.formset.js' %}"></script>
<script type="text/javascript" src="http://dal-yourlabs.rhcloud.com/static/collected/admin/js/vendor/jquery/jquery.js"></script>
<!-- <script type="text/javascript">
  $('#agregar').on('click',function(){
    $('.formset-test').append()
  });
</script> -->

<script type="text/javascript">
    $('.formset_row-{{ formset.prefix }}').formset({
        addText: 'Agregar posición',
        deleteText: 'Borrar posición',
        prefix: '{{ formset.prefix }}',
    });
</script>`
{%load crispy_forms_tags%}
{%load staticfiles%}
{%load static%}
{{formset.management{u form|crispy}}
{formset.forms%%中表单的%
{%form.visible_fields%}
{#在#表单中包含隐藏字段}
{%if-forloop.first%}
{%用于隐藏在表单中。隐藏的_字段%}
{{隐藏}}
{%endfor%}
{%endif%}
{{field.errors.as_ul}}
{{field | as_crispy_field}
{%endfor%}
{%endfor%}

{{formset.media} $('.formset_行-{{formset.prefix}}').formset({ addText:“Agregar posición”, deleteText:“Borrar posición”, 前缀:“{formset.prefix}}”, }); `

而且,它不尊重我所给的重命名(参见代码末尾的脚本)。显示的不是“Agregar Posicion”文本,而是默认的“Add other”。

您遇到了一些不同的问题:

首先,直接在jQuery对象上调用.formset函数。根据,它需要包装在“on ready”函数中,例如:

<script type="text/javascript">
$(function() {
    $('.formset_row-{{ formset.prefix }}').formset({
        addText: 'Agregar posición',
        deleteText: 'Borrar posición',
        prefix: '{{ formset.prefix }}',
    });
})
</script>
您应该只是将表单集从视图传递到模板,并作为模板引用它

{% for form in formset %}
{% for form in formset.forms %}
{% for form in formset %}