我有一個表單有一個提交按鈕。如果我點擊這個按鈕提交JSON然後將通過AJAX發佈到web服務:防止雙重提交表格
$("#msform").submit(function (e) {
$.ajax({
url: 'https://example.com/webservice',
type: 'POST',
data: formData1,
crossDomain: true,
dataType: 'json',
jsonpCallback: 'callback',
success: function (data) {
console.log(data);
}
});
});
該網頁也將加載並進入另一個頁面。而加載用戶可以點擊提交按鈕多次,如果他這樣做,然後多次AJAX帖子將完成到Web服務。
我想這個代碼來解決這一點,但它不工作:
// jQuery plugin to prevent double submission of forms
jQuery.fn.preventDoubleSubmission = function() {
$(this).on('submit', function (e) {
var $form = $(this);
if ($form.data('submitted') === true) {
// Previously submitted - don't submit again
e.preventDefault();
} else {
// Mark it so that the next submit can be ignored
$form.data('submitted', true);
}
});
// Keep chainability
return this;
};
$('#msform').preventDoubleSubmission();
任何想法,爲什麼雙張貼不阻止?
禁用提交元素?這可以防止它再次被點擊,並且是對用戶的視覺提示,即某事正在發生。 –