2012-01-21 7 views
7

私はdata-remote=trueオプションで提出したいフォームを持っています。しかし、私はcreate action return jsonを持って、そのページにすでに存在するjavascriptで処理しています。 form_forタグでインラインでコールバックを設定できますか?これに似たdata-remote trueコールバックを定義する

何か:

=form_for @foo,:remote => true, :success => "my_js_stuff" do |f| 

答えて

9

レールフォームヘルパーをオーバーライドしなくても可能かどうかはわかりません。しかし、jquery ajaxイベントを使用してバインドできます。例:

$('form#sign-up-form').ajaxError(function(event, request, settings) { 
//do some stuff on error 
}) 

$('form#sign-up-form').bind('ajax:success', function(evt, data, status, xhr){ 
//do some stuff on success 
}) 
5

あなたはfooのコントローラのcreate.js.erbおよび/またはupdate.js.erbを定義することをお勧めします。それはあなたが実行するjavascriptを返します。

そこから、すでにページに存在するjavascriptを実行することができます。

+0

良い考え。 +1成功した場合に役立ちます。エラーの場合は助けにならないでしょう。 – Hendrik

関連する問題