X-Git-Url: https://dev.renevier.net/?p=syj.git;a=blobdiff_plain;f=public%2Fjs%2Futils.js;h=85fe57a6acac89af4619ecaef3d3912d95ebc18e;hp=f437d150d8f821000afa9adda7253547deb0c0eb;hb=c7c35fba8c1ded1e4d6e04a3c9e2082ad9ace60d;hpb=e7db13380d60e9f597a5690800b171c6524bac54 diff --git a/public/js/utils.js b/public/js/utils.js index f437d15..85fe57a 100644 --- a/public/js/utils.js +++ b/public/js/utils.js @@ -212,11 +212,37 @@ Element.addMethods('form', { reqoptions.method = this.method; } + if (reqoptions.onFailure) { + reqoptions.onFailure = reqoptions.onFailure.wrap(function(proceed, transport, json) { + form.enable(); + proceed(transport, json); + }); + } else { + reqoptions.onFailure = function() { + form.enable(); + }; + } + + if (reqoptions.onSuccess) { + reqoptions.onSuccess = reqoptions.onSuccess.wrap(function(proceed, transport, json) { + form.enable(); + proceed(transport, json); + }); + } else { + reqoptions.onSuccess = function() { + form.enable(); + }; + } + new Ajax.TimedRequest(action, options.delay || 20, reqoptions); if (Object.isFunction(options.postsubmit)) { options.postsubmit(this); } + Form.getElements(form).each(function(elt) { + elt.blur(); + elt.disable(); + }); }); },