Unobtrusive JavaScript w rails 3 i callback do remote form

witam
próbuje przypisac callbacki do ajaxowego formularza, zgodnie z tym tutorialem http://www.simonecarletti.com/blog/2010/06/unobtrusive-javascript-in-rails-3/
przykładowo dla loading

<%= javascript_tag do %> jQuery(function($) { $("#new_mailing").bind("ajax:loading", alert('start')); }); <% end %>
jednak alert wyskakuje podcza ładownia strony a nie gdy zatwierdze formularz

jak chcesz mieć jak zatwierdzisz formularz to zrób zwykły bink na click. NIe ma takiego bind jak ajax, przynajmniej nigdy nie słyszałem może jakiś plugin, ale możesz to osiągnąć w samym wywołaniu ajax

$.ajax(…).onError i tak dalej

jakoś tak jest w dokumentacji na stronie głównej

To co mozna zbindować w jQuery czystym to:
blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error

chciałbym miec jak request z formularza jest przetwarzany i jak przychodzi odpowiedź, poprostu pokazać loader i schować.
nie wiem skąd to wziął, próbowałem to co autor dał w artykule

No to mówię możesz to podpiąć pod samo zapytanie ajax

$.ajax({ url: 'ajax/test.html', success: function(data) { $('.result').html(data); alert('Load was performed.'); } });
Dajesz loader by się pokazał po kliknięciu, albo submit co kolwiek to się da zbindować a na sucess dajesz hide, dał bym tez na error ;] różnie się zdarza

tak, ale ja mam tutaj formularz ajaxowy a nie samo zapytanie ajaxowe. gdy daje kod jak wyżej to ajax próbuje sie polaczyc przy ładowaniu strony.

Pobawmy się w “znajdź różnicę” :slight_smile:

<%= javascript_tag do %> jQuery(function($) { $("#new_mailing").bind("ajax:loading", function() { alert('start'); }); }); <% end %>

też próbowałem, wtedy alert nie pokazuje się wcale, w konsoli błędów brak

a próbowałeś na innych railsowych eventach np. ajax:before?

dzięki, dla ajax:before zaskoczyło