|
|
|
@ -5,7 +5,13 @@
|
|
|
|
|
|
|
|
|
|
$.fn.abpAjaxForm = function (userOptions) {
|
|
|
|
|
var $form = $(this);
|
|
|
|
|
userOptions = userOptions || {};
|
|
|
|
|
userOptions = $.extend({
|
|
|
|
|
formSubmitting: {
|
|
|
|
|
disableSubmitButtonBusy: false,
|
|
|
|
|
disableOtherButtonsBusy: false,
|
|
|
|
|
$excludedBusyButtons: {} /*Prevents busy or disabled effect on these buttons. Must be jQuery instances*/
|
|
|
|
|
}
|
|
|
|
|
}, userOptions || {});
|
|
|
|
|
|
|
|
|
|
var options = $.extend({}, $.fn.abpAjaxForm.defaults, userOptions);
|
|
|
|
|
|
|
|
|
@ -18,8 +24,19 @@
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$form.find("button[type='submit']").buttonBusy(true);
|
|
|
|
|
//TODO: Disable other buttons..?
|
|
|
|
|
if (!userOptions.formSubmitting.disableSubmitButtonBusy) {
|
|
|
|
|
var submitButtons = $form.find("button[type=submit]").not(userOptions.formSubmitting.$excludedBusyButtons);
|
|
|
|
|
if (submitButtons.length === 1) {
|
|
|
|
|
submitButtons.buttonBusy(true);
|
|
|
|
|
} else if (submitButtons.length > 1) {
|
|
|
|
|
$(document.activeElement).buttonBusy(true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!userOptions.formSubmitting.disableOtherButtonsBusy) {
|
|
|
|
|
var otherButtons = $form.find("button[type!=submit]").not(userOptions.formSubmitting.$excludedBusyButtons);
|
|
|
|
|
otherButtons.prop('disabled', true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
};
|
|
|
|
|