Я отправляю форму Django вместе с AJAX.После успешной отправки формы я добавляю сохраненный контент в HTML с возможностью удаления.Я использую тот же AJAX для кодирования, чтобы удалить контент из базы данных, а также с HTML-страницы.Первая часть работает, но когда я вызываю java-скрипт для удаления контента, он не работает.
Вот отправка формы:
<form class='my-ajax-form' method="post" action='.' data-url ='{% url 'update_Tiers' %}' >
{% csrf_token %}
{% bootstrap_form form %}
<button class='btn btn-default' type='submit'>Add</button>
</form>
Вот код AJAX:
<script type='text/javascript'>
count = 0;
$(document).ready(function(){
var $myForm = $('.my-ajax-form')
$myForm.submit(function(event){
count ++;
event.preventDefault()
var $formData = $(this).serialize()
if ($formData.includes("tier_value")){
var $thisURL = $myForm.attr('data-url') || window.location.href // or set your own url
$.ajax({
method: "POST",
url: $thisURL,
data: $formData,
success: handleFormSuccess,
error: handleFormError,
})
} else if ($formData.includes("post_id")) {
// Call to remove the tier view
}
function handleFormSuccess(data, textStatus, jqXHR){
const div = document.createElement('div');
div.className = 'row';
div.innerHTML = `
<li id='`+count.toString()+`' class="list-group-item">
<b>`+data.name+`</b>
<p>`+data.value+`per month</p>
<p>`+data.tier_benefits+`.</p>
<form class='my-ajax-form' method="post" action='.' >
{% csrf_token %}
<input id="post_slug" type="hidden" name="post_slug" value=`+data.slug+`/>
<input id="post_id" type="hidden" name="post_id" value=`+count.toString()+`/>
<button class='btn btn-default' type='submit'>Remove</button>
</form>
</li>`;
document.getElementById('content').appendChild(div);
$myForm[0].reset();
}
function handleFormError(jqXHR, textStatus, errorThrown){
// some code
}
})
})
Этот код AJAX после сохранения формы отобразит сохраненные данные формыс возможностью удалить.Когда я пытаюсь удалить сохраненные данные, вместо этого переходя к java-скрипту, он напрямую обращается к функции просмотра django.Может кто-то помочь мне с этим.Пожалуйста, дайте мне знать, если мне не ясно.Спасибо.