Jquery Метод размытия не выполняет никаких действий с данными формы django - PullRequest
0 голосов
/ 04 февраля 2020

Я разрабатываю приложение Checklist с Django, в котором я пытаюсь создать шаблон с элементами заголовка и контрольного списка, для заголовка я использую Jquery Ajax для хранения заголовка в БД с справка формы модели.

Вот код JS и AJAX, который я использую для передачи данных для просмотра

        <script type="text/javascript">
            $(document).on("blur","#js_template_title", function(e){
                e.preventDefault();
                $.ajax({
                    type:'POST',
                    url:'{% url "checklist" %}',
                    data:{
                        title:$('#js_template_title').val(),
                        csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val(),
                        action:'post',
                    },
                    success: function(response){
                        $("#js_template_title").val(data['title']);
                    },
                    error: function(xhr,errmsg,err){
                        console.log(xhr.status+":"+xhr.responseText);
                    }
                });
            });
        </script>

Ниже приведен фрагмент HTML для формы, идентификатор "js_template_title", который я использую в JS, явно добавляется в формы с помощью виджетов

        <form method='post' id='js-title-form' class="form-inline p-1 m-1">
            <div class="form-row">
                <div class="col">
                    {% csrf_token %}
                    {{temp_form|crispy}}
                </div>
                <div class="col">
                    <input class="" type="image" src="{% static 'components/tick.jpg' %}"  alt="submit" width="30" height="30">
                </div>
            </div>
        </form>

temp_form -> код из браузера

<input type="text" name="title" placeholder="Title" id="js_template_title" class="textinput textInput form-control" required="">

Проблема в том, что код хорошо работает с действием отправки, но когда я закомментирую действие ввода ввода и включу размытие, оно не работает.

Предложите мне соответствующее действие, которое можно использовать для сохранения названия заголовка в БД, когда фокус находится вне текстового поля

1 Ответ

0 голосов
/ 04 февраля 2020

Понял .. !!

Основная проблема была со скриптом sr c

Тот, который я использовал,

<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>

как часть отладки пыталась добавить исходник Google CDN JS в конце, и он начал работать нормально, данные отправляются в БД.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

Когда Newb ie попробовал упомянутый BP, Как интегрировать Ajax с Django

, один из шагов говорит об использовании chrome для отладки JS и AJAX, которая в конечном итоге помогла мне найти sr c как проблему и исправить приведенную ниже ошибку, изменив sr c

Ошибка: Uncaught ReferenceError: $ не определено?

...