bootstrap-markdown提交时出现两次的情况

linkBG
  • 387

html code

    <form id="form_article">
    <input id="title" name="title" type="text" placeholder="Title?" />
    <textarea id="content" name="content" data-provide="markdown" rows="10"></textarea>
    <hr/>
    <button type="submit" class="btn">Submit</button>
    </form>

js code

$(this).on('submit', '#form_article', function (e) {
         e.preventDefault();

         $.ajax({
            type: 'POST',
            url: '',
            data: {
                csrfmiddlewaretoken: getCookie('csrftoken'),
                title:$('#title').val(),
                content:$('#content').val(),
            },
            cache: false,

            success:function (json) {
                toastr.success('添加成功');
                }
            }

         });
     });

代码如上,现在的问题是,我点击提交按钮时候,会提交两次,并且两次都入库。
这个是怎么造成的呢?我试着删除了bootstrap-markdown.js,但是仍旧是提交两次。
请问怎么才能做到提交一次呢?谢谢

回复
阅读 1.6k
1 个回答

测试了一下,当加了preventDefault()之后,on函数第二个参数所添加的过滤就失效了,所以如果你之前就有两个能触发submit的元素的话,就自然会触发两次。

你可以判断e的target后再执行ajax。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏