2011-01-12 15 views
1

私は現在、レコードを更新するためにbutton_toを使用しようとしています。 AJAXリクエストには時間がかかるので、リクエストを送信する前にUIを更新して、リクエストのUI効果をシミュレートします。 this postに続いて、link_toと同様の処理を行います。私の見解ではRails 3 - バインド前AJAXリクエスト

は私が持っている:application.jsで

button_to "Submit", my_class_path, :remote => true, :class => "my_class", :method => :get 

は、私は、次のしている:

jQuery(function($) { 
    $("input.my_class").bind("ajax:loading", function(){ 
    alert("Hello World!"); 
    }); 
}); 

イベントが発生しているされていないか、または私が正しくそれに結合していませんよ。 button_toからpre-AJAXリクエストを処理するにはどうすればよいですか?

とはいえ、JavaScriptイベントが発生しているのを見るための良い方法はありますか?

<form method="post" action="/some_action" data-remote="true" class="button_to"> 
<div> 
    <input name="_method" type="hidden" value="delete"> 
    <input class="my_class" type="submit" value="Submit"> 
    <input name="authenticity_token" type="hidden" value="asdfasdfasdfsafasdfasdfas="> 
</div> 
</form> 

しかし、Ajaxのリクエストが含むフォームにバインドされているようrails.jsによると、それが見えます::だからで

$('form[data-remote]').live('submit', function (e) { 
    $(this).callRemote(); 
    e.preventDefault(); 
}); 

答えて

2

問題はbutton_toはこのようなものを作成することであるかもしれませんinputボタンはフォームを送信するだけです。このフォームはrails.jsコードがキャプチャしてajax呼び出しを行うために使用します。これはおそらく、ボタンのフォームに直接バインドする必要があることを意味します。このようなもの:

$("input.my_class").parents('form[data-remote]').bind("ajax:loading", function(){ 
    alert("Hello World!"); 
}); 
+0

チャームのように働いた!ありがとう! –

関連する問題