рд╢реБрдн рджреЛрдкрд╣рд░, рд╕рд╛рдерд┐рдпреЛрдВ!
рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореБрдЭреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреА рдЧрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ) рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЪреВрдВрдХрд┐ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрд╛рд░-рдмрд╛рд░ рдмрджрд▓ рдЬрд╛рдПрдВрдЧреА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВред рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдгред
рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрдпрд╛рди рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдБред рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ, рдЬреЛ рд╕рдВрдкрд░реНрдХ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рдХрд┐рд╕ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рди рдЪрд╛рд╣рддрд╛ рд╣реЛ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╡рд╣реА рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛ рдЙрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдХреНрдпрд╛ рд░рдЦрдирд╛ рд╣реИред
рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ AJAX рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╕реБрдЦрдж рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рдЕрдЧрд▓рд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдХрд╣реАрдВ рдЕрдЯрдХ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдкрд░реНрдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдирддреАрдЬрддрди, рд╡рд╣ рд╡реИрд╕рд╛ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ рдЬреИрд╕рд╛ рдЙрд╕рдиреЗ рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдереАред рдкреНрд░рд╢реНрди рдЙрдарддрд╛ рд╣реИ - рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХреНрд░рдо рдореЗрдВ рд╕рдЦреНрддреА рд╕реЗ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ jQuery рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрддрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
JQuery рдореЗрдВ рдХрддрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдирд┐рдореЗрд╢рди рдФрд░ рдкреНрд░рднрд╛рд╡ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдореБрдЭреЗ рдЗрд╕ рдХреЛрдб рдЬреИрд╕рд╛ рдХреБрдЫ рдорд┐рд▓рд╛:
function ajaxQueue(func){ $(document).queue("ajax",func); if($(document).queue("ajax").length == 1) $(document).dequeue("ajax"); } $(".contact input:checkbox") .change(function(){ var $_ = $(this), checked = $_.is(":checked"), $_.attr("disabled","disabled"); ajaxQueue(function(){ $.post("/ajax/check_elem", {name: $_.attr("id"), value: checked}) .error(function(){ $_.val((!checked)?"on":"off"); }) .complete(function() { $_.removeAttr("disabled"); $(document).dequeue("ajax"); }); }); });
рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рдирдпрд╛ рдХрджрдо рдХрддрд╛рд░ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╕рд░реНрд╡рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рднреЗрдЬрдиреЗ рдХрд╛ рдХрд╛рд░реНрдпред рдпрджрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрддрд╛рд░ рдЦрд╛рд▓реА рдереА, рддреЛ рдХрд╛рд░реНрдп рддреБрд░рдВрдд рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (ajaxQueen рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ dequeue)ред рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ AJAX рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдЧрд▓рд╛ рдЪрд░рдг рдХрддрд╛рд░ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдВрдкрд░реНрдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрддрд╛рд░рдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
function doAction(link){ $.get(link, function(data){ $('body').append(data); }, 'html'); } $("a.saveButton") .click(function(){ ajaxQueue(doAction($(this).attr("href"))); });
рдкреБрдирд╢реНрдЪ: рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореИрдВ рдЗрд╕ рдирддреАрдЬреЗ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рд╕рдВрдкрд░реНрдХ рдХреЛ рдмрдЪрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрднреА рднреА рдмрд▓реНрдХ рдореЗрдВ рд╕рднреА рдЪреЗрдХрдмреЙрдХреНрд╕реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ (рдпрд╣ рдЗрд╕ рдмрд╛рдд рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ рдХрд┐ рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рдХреНрдпреЛрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ :)), рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрдгрд┐рдд рдпреЛрдЬрдирд╛ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛред рдЕрдиреНрдп рдХрд╛рд░реНрдпред