我有一个asp.net MVC应用程序。
以下javascript代码自10天前开始生产。这个想法是拦截提交事件并调用ajax事件以检查附件大小,然后再允许提交表单。
问题:我们报告了2位用户两次提交了表单。我不知道这怎么可能。也许使用较旧的IE版本?
$(function () {
$("input[type=submit]").bind("click", function (e) {
e.preventDefault();
e.returnValue = false;
var $form = $(this);
$.ajax({
type: 'post',
url: pMailPreview.checkAttachmentsSizeExceedUrl,
cache: false,
context: $form,
success: function (result, textStatus, XMLHttpRequest) {
if (result.sizeExceed) {
alert('Size exceed !!');
} else {
// make sure that you are no longer handling the submit event; clear handler
this.off('submit');
// actually submit the form
this.submit();
}
},
error: function (jqXhr, textStatus, errorThrown) {
alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')");
},
});
return false;
});
});
答案 0 :(得分:-1)
如果用户在按钮上单击两次,则该表单有效,它将发送两次。
您可以禁用提交按钮。