method
link_to_function
v1.2.6 -
Show latest stable
-
2 notes -
Class: ActionView::Helpers::JavaScriptHelper
- 1.0.0 (0)
- 1.1.6 (0)
- 1.2.6 (37)
- 2.0.3 (0)
- 2.1.0 (0)
- 2.2.1 (15)
- 2.3.8 (0)
- 3.0.0 (0)
- 3.0.9 (-3)
- 3.1.0 (-38)
- 3.2.1 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- 4.0.2 (0)
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- 7.1.3.4
- What's this?
link_to_function(name, *args, &block)
public
Returns a link that will trigger a JavaScript function using the onclick handler and return false after the fact.
The function argument can be omitted in favor of an update_page block, which evaluates to a string when the template is rendered (instead of making an Ajax request first).
Examples:
link_to_function "Greeting", "alert('Hello world!')" Produces: <a onclick="alert('Hello world!'); return false;" href="#">Greeting</a> link_to_function(image_tag("delete"), "if (confirm('Really?')) do_delete()") Produces: <a onclick="if (confirm('Really?')) do_delete(); return false;" href="#"> <img src="/images/delete.png?" alt="Delete"/> </a> link_to_function("Show me more", nil, :id => "more_link") do |page| page[:details].visual_effect :toggle_blind page[:more_link].replace_html "Show me less" end Produces: <a href="#" id="more_link" onclick="try { $("details").visualEffect("toggle_blind"); $("more_link").update("Show me less"); } catch (e) { alert('RJS error:\n\n' + e.toString()); alert('$(\"details\").visualEffect(\"toggle_blind\"); \n$(\"more_link\").update(\"Show me less\");'); throw e }; return false;">Show me more</a>
Register or
log in
to add new notes.
freegenie -
July 2, 2008
7 thanks
error in block code example
I guess there’s an error in this part of the code:
link_to_function("Show me more", nil, :id => "more_link") do |page| page[:details].visual_effect :toggle_blind page[:more_link].replace_html "Show me less" end
It doesn’t work. It should be:
link_to_function("Show me more", nil, :id => "more_link") do |page| page[:details].toggle "Blind" page[:more_link].replace_html "Show me less" end
Using Rails 2.1.0
dovadi -
July 23, 2008 - (>= v2.1.0)
0 thanks
Another solution for visual_effect in code block example in link_to_remote
Update: Code block example in link_to_function not link_to_remote (can’t edit subject annymore :( )
This doesn’t work:
page[:details].visual_effect :toggle_blind
My solution: