Расширение аргумента onclick для button_to_remote в рельсах - PullRequest
0 голосов
/ 22 октября 2010

Я хотел бы расширить свой параметр onclick button_to_remote другим вызовом функции javascript, но я не смог найти никакого ответа для этого.Итак, у меня sg вот так:

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

, что генерирует следующий код:

<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;" />

И моей целью было бы вызвать функцию foo () после создания экземпляра объекта запроса ajax:

<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;" />

Можно ли кроме этого сгенерировать всю кнопку самостоятельно?

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 22 октября 2010

Конечно, просто добавьте свою функцию в качестве обратного вызова:

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

Это вызовет foo, когда запрос Ajax будет завершен. Вместо :complete вы можете использовать любые другие этапы, например, :loading, :success и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...