4

私は3つのファイルを持っています:

index.html.erbは私のホームページです

インデックス内に部分的な_relationship.html.erbをレンダリングすると、次の行のフォームがあります。

<%= form_tag('/relationships/update/', :remote => true, :id => "relationships_form_#{@count}") do %>

index.js.erbもあります(relationship.htmlはindex.html.erbにあります)

jQuery("#relationships_form_1").bind("ajax:success", function() {
  $("#box_relationships").hide().html("<%=escape_javascript(render('relationships/relationships'))%>").fadeIn(2000, 'swing');
  })

フォームは毎回送信され、値が変更されます。

beforeSendオプションを使用して読み込み中のgifを表示したい。

私は試しました(index.html.erbで。それを_relationshipsパーシャルに入れると、まったく機能しません):

jQuery("#relationships_form_1").bing("ajax:beforeSend", function() {
$("#relationship_save").show();
});  

しかし、それは一度だけ機能します。

次に、ビフォアレールオプションを追加しました

:before => '$("#relationship_save").show();'

繰り返しますが、これは1回だけ機能します。

私もjqueryで.onを試しました

    jQuery("#relationships_form_1").on("ajax:beforeSend", function() {
$("#relationship_save").show();
});

そしてそれはまだ一度だけ動作します。

フォームは毎回送信され、値は毎回保存され、beforesendは1回だけ機能します

何かご意見は?

4

1 に答える 1

10
jQuery(document).on("ajax:beforeSend", "#relationships_form_1", function() {
  $("#relationship_save").show();
});

ajaxでロードされたフォームは初期フォームと同じではないためです。

于 2012-04-07T15:00:03.273 に答える