使用http://jquery.malsup.com/form/。以下是我的做法 - 此方法处理错误(和其他条件)以阻止动画。它也可以ajaxify形式或立即提交(取决于提交标志),并做其他事情。
function GenericAjaxForm(form, success, submit, beforeSubmit) {
var form = $(form);
var options = {
beforeSubmit: function(data, frm, options) {
form.disable(true);
form.find("input:submit:last").after(
"<span class='ajaxwait'><img src='../Content/images/smallwait.gif' /></span>");
if (beforeSubmit)
return beforeSubmit(data, frm, options);
},
error: function(xhr, status, error) {
$(".validation-summary-errors").html(getAjaxErrorMessage(status, xhr));
form.disable(false);
form.find(".ajaxwait").remove();
},
success: function(data) {
form.disable(false);
form.find(".ajaxwait").remove();
$(".validation-summary-errors").html('');
if (CheckValidationErrorResponse(data, form))
return;
success(data);
}
};
if (submit)
form.ajaxSubmit(options);
else
form.ajaxForm(options);
}
你为什么不接受的答案? – Sampath 2013-04-08 08:40:46
@Sampath - 可能是因为在一段时间过去之前,stackoverflow不允许我接受我自己的答案,所以我可能忘了它。 – Gavin 2013-04-09 09:33:19