Execute callback function after every AJAX call regardless of status (so you can execute a callback when returing an error).

This commit is contained in:
Josh Sherman 2011-01-20 22:58:45 -05:00
parent 2bb9fd10e4
commit 477a16a863
3 changed files with 7 additions and 7 deletions

2
js/combined.min.js vendored

File diff suppressed because one or more lines are too long

View file

@ -83,17 +83,17 @@ $(document).ready(function()
{
parent.location.href = data.url;
}
if (typeof(data.callback) != 'undefined')
{
window[data.callback](data);
}
}
else
{
injectMessage(form, data, 'error');
}
if (typeof(data.callback) != 'undefined')
{
window[data.callback](data);
}
// Removes READONLY status
$('button, input, textarea', form).attr('readonly', '');

2
js/core.min.js vendored
View file

@ -1,5 +1,5 @@
$(document).ready(function(){jQuery().validate&&$("form").validate();$("form.ajax input[type=submit], form.ajax .submit").live("click",function(){var a=$(this).parents("form").get();$(".ajax-form-error, .ajax-form-message, label.error",a).fadeOut("normal",function(){$(this).remove()});if(typeof $(a).valid=="undefined"||$(a).valid()==true){$("button, input, textarea",a).attr("readonly","readonly");document.body.style.cursor="wait";if(typeof CKEDITOR!="undefined")if(typeof CKEDITOR.instances!="undefined")for(var d in CKEDITOR.instances){var c=
CKEDITOR.instances[d].getData();c!=""&&$("#"+d).val(c)}d=$(a).attr("method")==""?"GET":$(a).attr("method");c=$(a).attr("action");if(c==""){injectMessage(a,"Form element lacks action attribute","error");$("button, input, textarea",a).attr("readonly","");document.body.style.cursor="default"}else $.ajax({type:d,url:c,data:$(a).serialize(),dataType:"json",success:function(b){if(b.status!="success"&&typeof b.message!="undefined")injectMessage(a,b.message,"error");else if(b.status=="success"){$("input[type=text]",
a).val("");$("select",a).val("");$("textarea",a).val("");typeof b.message!="undefined"&&injectMessage(a,b.message,"message");if(typeof b.url!="undefined")parent.location.href=b.url;typeof b.callback!="undefined"&&window[b.callback](b)}else injectMessage(a,b,"error");$("button, input, textarea",a).attr("readonly","");document.body.style.cursor="default"},error:function(b,f,e){injectMessage(a,e,"error");$("button, input, textarea",a).attr("readonly","");document.body.style.cursor="default"}})}else return false});
a).val("");$("select",a).val("");$("textarea",a).val("");typeof b.message!="undefined"&&injectMessage(a,b.message,"message");if(typeof b.url!="undefined")parent.location.href=b.url}else injectMessage(a,b,"error");typeof b.callback!="undefined"&&window[b.callback](b);$("button, input, textarea",a).attr("readonly","");document.body.style.cursor="default"},error:function(b,f,e){injectMessage(a,e,"error");$("button, input, textarea",a).attr("readonly","");document.body.style.cursor="default"}})}else return false});
$("form.ajax").submit(function(){return false});$("table tr:even td").addClass("even");$("table tr:odd td").addClass("odd")});function injectMessage(a,d,c){if(typeof c=="undefined")c="error";switch(c){case "error":var b="#800";break;case "message":b="#080";break;default:b="#000"}c="ajax-form-"+c;b="display:none;color:"+b;$("."+c,a).remove();$(a).prepend('<div class="'+c+'" style="'+b+'" generated="true">'+d+"</div>");$("."+c,a).fadeIn();return $("."+c,a)}
function autoTab(a){$(a).val().length>=$(a).attr("maxlength")&&$(a).next().focus()}function disableEnterKey(a){return(window.event?window.event.keyCode:a.which)!=13}function truncate(a,d,c){if(a.length>d)a=c==true?'<span title="'+a+'" style="cursor:help">'+a.substring(0,d)+"...</span>":a.substring(0,d)+"...";return a};