0
我正在處理包含兩種窗體的頁面。其中一種形式是常規的名稱,說明,註釋等。第二種是兩個下拉菜單 - Language
和Level
其中Level
與Language
使用AJAX
鏈接。如何在Django/AJAX中從窗體創建動態窗體集
我想讓這種形式出現在頁面上的次數與user
想要的次數一樣多。因此,如果他們填寫Language
和Level
,則會在舊的下方顯示新的Language
和Level
表單。
問題是,如果表格是鏈接的,我必須分別標識每個Language
和Level
,所以我不能只複製form
這個重複。 (也許我可以,但我無法弄清楚,因爲我是AJAX新手)。
這是一個create job
Django的/ HTML:
{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% load static %}
{% block head %}
<script src="{% static "js/main.js" %}"></script>
{% endblock %}
{% block content %}
{% if user.is_authenticated %}
<form action="" method="post" enctype="multipart/form-data">{% csrf_token %}
{{ language_form }}
<button value="Update" type="submit">Submit</button>
</form>
{% endif %}
{% endblock %}
這是JQuery的:
$(document).on('change','#id_language',function(){
language_id = $(this).val();
request_url = '/get-highest-level/'+language_id+'/';
$.ajax({
url:request_url,
success: function(data){
var select = $('#id_level');
select.empty();
$.each(data, function (key,value) {
$('select[name="level"]').append('<option value="'+ key + '">'+value + '</option>');
});
return false;
}
})
});
和一個簡單的觀點:
@login_required
def create_order(request):
language_form = LanguageLevelForm(request.POST or None)
return render(request,'auth/jobs/create-job-test.html',context={'language_form':language_form})
我知道,它應該是可能的使用FormSet
但我不知道如何使它與JQuery
。
謝謝,我已經用單一的形式,並與表單集嘗試了太多,但它不工作。可能是因爲沒有上課。我在我的問題 –
的底部添加了一個formset的html哦,這適用於鏈式表單,謝謝。但我仍然沒有弄清楚如何在填充後添加它。第一個表格填寫 - >第二個表格出現等 –