Javascript Jquery blur方法没有对django的表单数据执行任何操作

Javascript Jquery blur方法没有对django的表单数据执行任何操作,javascript,jquery,django,ajax,django-forms,Javascript,Jquery,Django,Ajax,Django Forms,我正在使用Django开发清单应用程序,其中我正在尝试创建一个包含标题和清单项的模板,对于标题,我正在使用jQueryAjax在模型表单的帮助下将标题存储在数据库中 下面是我用来将数据传递给视图的JS和AJAX代码 <script type="text/javascript"> $(document).on("blur","#js_template_title", function(e){ e.preventDe

我正在使用Django开发清单应用程序,其中我正在尝试创建一个包含标题和清单项的模板,对于标题,我正在使用jQueryAjax在模型表单的帮助下将标题存储在数据库中

下面是我用来将数据传递给视图的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>

$(文档).on(“模糊”,“js#u模板_标题”,函数(e){
e、 预防默认值();
$.ajax({
类型:'POST',
url:“{%url”检查表“%}”,
数据:{
标题:$('#js_template_title').val(),
csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]')。val(),
行动:'post',
},
成功:功能(响应){
$(“#js#u template_title”).val(数据['title]);
},
错误:函数(xhr、errmsg、err){
日志(xhr.status+“:”+xhr.responseText);
}
});
});
下面是表单的HTML剪贴画,我在js中使用的ID“js_template_title”通过小部件帮助显式添加到表单中

        <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>

{%csrf_令牌%}
{{temp|u form | crispy}}
浏览器中的临时表格-->代码

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

问题是代码与提交操作配合得很好,但是当我注释掉输入提交操作并启用模糊时,它就不起作用了

建议我采取适当的措施,以便在焦点不在文本字段时将标题名称保存到DB中。

明白了

主要问题是脚本src

我用的那个

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

作为调试的一部分,我们尝试在最后添加GoogleCDNJSSource,它开始正常工作,数据被发布到DB

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

正如新手尝试BP提到的那样

其中一个步骤是使用chrome调试JS和AJAX,这最终帮助我发现src是一个问题,并通过更改src修复以下错误

错误:未捕获引用错误:$未定义