2010-10-21 10 views
0

Je souhaite étendre mon paramètre onclick de button_to_remote avec un autre appel de fonction javascript, mais je n'ai trouvé aucune réponse pour cela. j'ai donc sg comme ceci:Extension de l'argument onclick de button_to_remote dans les rails

button_to_remote('>', :url => {:action => "show_dtree", :id => tree_child.id, :dir1 => dir11, :dir2 => dir12} 

ce qui génère le code suivant:

<input onclick="new Ajax.Request('/d_trees/show_dtree/3?dir1=1&amp;dir2=2', {asynchronous:true, evalScripts:true, parameters:'authenticity_token=' + encodeURIComponent('2e8e2147c344bcee0edf40f8fe6072c12dc928d7')});" type="button" value="&gt;" /> 

Et mon but serait d'appeler une fonction foo() après que l'objet de la demande ajax instancié:

<input onclick="new Ajax.Request('/d_trees/show_dtree/3?dir1=1&amp;dir2=2', {asynchronous:true, evalScripts:true, parameters:'authenticity_token=' + encodeURIComponent('2e8e2147c344bcee0edf40f8fe6072c12dc928d7')});foo();" type="button" value="&gt;" /> 

Existe-t-il un moyen de générer tout le bouton par moi-même?

Merci pour votre aide!

Répondre

0

Bien sûr, il suffit d'ajouter votre fonction comme un rappel:

button_to_remote '>', 
    :url => { :action => "show_dtree", :id => tree_child.id, :dir1 => dir11, :dir2 => dir12 }, 
    :complete => "foo()" 

Ceci appellera foo lorsque la demande Ajax est complète. Au lieu de :complete, vous pouvez utiliser l'une des autres étapes, par ex. :loading, :success, etc.

+0

merci pour votre réponse rapide! – seriakillaz