我有一个表单有一个提交按钮。如果我点击这个按钮提交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();
任何想法,为什么双张贴不阻止?
禁用提交元素?这可以防止它再次被点击,并且是对用户的视觉提示,即某事正在发生。 –