formset()不是函数,使用jquery.formset.js时出现typeerror
我正在使用jquery.formset.js尝试向我的表单集中动态添加和删除行 我在Chrome开发者工具中遇到一个错误:formset()不是函数,使用jquery.formset.js时出现typeerror,jquery,django,django-forms,typeerror,Jquery,Django,Django Forms,Typeerror,我正在使用jquery.formset.js尝试向我的表单集中动态添加和删除行 我在Chrome开发者工具中遇到一个错误: Uncaught TypeError: $(...).formset is not a function(…) 我不明白为什么。。。下面是我的模板的样子,在底部定义了脚本,并链接到jquery.formset.js {% extends 'project/base.html' %} {% block title %}...{% endblock %} {% load s
Uncaught TypeError: $(...).formset is not a function(…)
我不明白为什么。。。下面是我的模板的样子,在底部定义了脚本,并链接到jquery.formset.js
{% extends 'project/base.html' %}
{% block title %}...{% endblock %}
{% load staticfiles %}
{% block content %}
<form id="time-form" method="POST" action="" class="dynamic-form" enctype="multipart/form-data">{% csrf_token %}
<div style="overflow-x:auto; padding-bottom:0;">
<table id="timesheet" class="tables">
<tbody>
<tr class="table-header">
<th>Date</th>
<th colspan="2">Description</th>
</tr>
{{ time_formset.management_form }}
{% for form in time_formset %}
<tr class="formset_row">
{% 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 }}
</td>
{% if forloop.last %}
{% if form.instance.pk %}<td>{{ form.DELETE }}</td>{% endif %}
{% endif %}
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
</br>
<input type = "submit" id = "save" value = "Save">
</form>
<script type="text/javascript" src='/media/jquery.formset.js'></script>
<script type="text/javascript" src="{% static 'app/jquery.js' %}"></script>
<script src="{% static 'app2/jquery-ui/external/jquery/jquery.js' %}"></script>
<script src="{% static 'app2/jquery-ui/jquery-ui.js' %}"></script>
...
<script>
$(function() {
//ERROR RAISED HERE//
$('#time-form div table#timesheet tbody tr.formset_row').formset({
prefix: '{{ time_formset.prefix }}'
});
});
</script>
帮助???尝试在表单集插件之前加载jQuery
<script type="text/javascript" src="{% static 'app/jquery.js' %}"></script>
<script type="text/javascript" src='/media/jquery.formset.js'></script>
使用
/media/
插件看起来很不寻常,我希望看到的静态标签与app/jquery.js
jquery包含的标签相同?如果包括正确的版本,它是否可以与formset一起使用?您确认路径了吗?@DaniP Yes包含jQuery,我将在上面更新。它应该很好用。路径我在文件中放了一个警报,确认他们链接了okaySimple!非常感谢。是的,我在教程的自述中也发现了这一点,它告诉我把它放在mediaroot中。。。。不确定自述文件中的建议为何过时-在1.3之前的早期Django版本中,人们将静态文件和用户上传的文件放在MEDIA\u ROOT
中。您应该能够将jquery.formset.js
移动到静态目录并使用静态标记。只要脚本标记可以加载文件,它位于何处都无关紧要。如果它位于静态或介质中,会有区别吗?还是公正还是一致?(出于这个原因,我更希望它出现在那里)插件本身并不在意——只要脚本标签加载文件就可以了。由于它是一个静态文件(它是应用程序的一部分,而不是用户上传的内容),因此它与其他静态文件保持一致。
<script type="text/javascript" src="{% static 'app/jquery.js' %}"></script>
<script type="text/javascript" src='/media/jquery.formset.js'></script>