2012-04-07 19 views
2

Ich habe 3 Dateien:Ajax beforeSend funktioniert nur einmal auf Rails

index.html.erb ist meine Homepage

innerhalb des Index I einen Teil, _relationship.html.erb machen, und es ist eine Form mit der folgenden Zeile:

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

i auch index.js.erb (relationship.html ist in index.html.erb)

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

Das Formular wird jedes Mal gesendet und der Wert wird geändert.

Ich möchte ein Lade-GIF mit der Option vor dem Senden anzeigen.

Ich habe versucht, (. Auf index.html.erb, wenn ich es in den _relationships Teil setzen, funktioniert es nicht):

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

Aber es funktioniert nur einmal.

Dann fügte ich die vor Schienen Option

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

Es funktioniert wieder nur einmal.

Ich habe sogar versucht, die .auf auf jquery

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

Und es funktioniert immer noch nur ein einziges Mal.

Die Form jedes Mal gesendet wird, wird der Wert jedes Mal gespeichert, arbeitet die beforesend nur einmal

Irgendwelche Gedanken?

Antwort

7

Da Ihre Ajax-geladene Form nicht das gleiche wie die ursprüngliche Form ist.

+0

fantastisch. ich danke dir sehr – wachichornia

Verwandte Themen