У меня есть цикл for, который создает несколько модальных всплывающих окон и соответствующую им форму внутри модального всплывающего окна. Я отправляю форму с помощью метода Ajax, чтобы не обновлять страницу. Однако я столкнулся с проблемой: если у меня есть несколько форм, только первая форма будет отправлена правильно. Последующие формы отправят значение первой формы. В настоящее время я поместил свой javascript в цикл for после тега конечной формы между {% for form,post in zipped %} и {% endfor %}. Я думал, что когда значение {{post.pk}} изменится, я буду слушать в другой форме, потому что я использовал уникальный идентификатор формы my{{post.pk}} в качестве селектора. в яваскрипте. Однако он не работает.
Мой сценарий:
$('#formy{{post.pk}}').on("submit" , function(e){
e.preventDefault();
$.ajax({
type:"POST",
data:{
tag:$('#tag').val(),
author:$('#author').val(),
file_name:$("#file_name").val(),
file_path:$("#file_path").val(),
unique_id:$("#key").val(),
csrfmiddlewaretoken:$("input[name=csrfmiddlewaretoken]").val(),
},
success:function(){
alert("UPDATED!!!!");
}
});
});
Мой HTML-код:
{% for form, post in zipped %}
{{post.tag}} {{post.pk}}
Edit Tag
{% csrf_token %}
Edit Tags
×
{{form|crispy}} {{post.pk}}
Close
Save changes
{% endfor %}
Подробнее здесь:
https://stackoverflow.com/questions/649 ... submission