Django AJAX отправка нескольких форм - PullRequest
0 голосов
/ 28 сентября 2019

Я отправляю форму 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.Может кто-то помочь мне с этим.Пожалуйста, дайте мне знать, если мне не ясно.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...