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,但是仍旧是提交两次。
请问怎么才能做到提交一次呢?谢谢
测试了一下,当加了preventDefault()之后,on函数第二个参数所添加的过滤就失效了,所以如果你之前就有两个能触发submit的元素的话,就自然会触发两次。
你可以判断e的target后再执行ajax。