使用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