toggle the caption of a link

hi all,

I'm trying to toggle the caption of a link between show archive and
hide archive? Everytime a user clicks the link the caption should
change.

I tried but this simply doesn't work.

Someone can help me out?

Thanks
Stijn

  <div id="show_archive">
    <%= link_to_function "Show archive" do |page|
        if page['show_archive'].value == "Show archive"
          page['show_archive'].replace_html("Hide archive")
        else
          page['show_archive'].replace_html("Show archive")
        end
    end %>
  </div>

Tarscher.

First off you should download and install Firebug for firefox to help
you debug any javascript errors you may be having. http://getfirebug.com/

The problem you are having is because you are calling a non-existent
method, value(), on the div element. There is also no RJS method
called value: http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper/JavaScriptGenerator/GeneratorMethods.html

You should probably just use plain ol javascript for this one so you
can check the current innerHTML of the div.

ie. if ($('show_archive').innerHTML == 'Show archive') { ... }

Or you could set some arbitrary attribute on the div and check it

ie...
<div id='show_archive' expanded='true' %></div>
if ($('show_archive').readAttribute('expanded') == 'true') { ... }

Cheers.

You might take a look at this:

http://wiki.rubyonrails.org/rails/pages/HowtoUseElement

Rick