? Buttonless ?

I have this code, which is working quite well:

<% form_tag '', :method => 'GET' do %>
   <p><%= radio_button_tag :report, 'by_date', params[ :report ] ||=
'by_date' %><b>By Date</b></p>
   <p><%= radio_button_tag :report, 'by_donor', params[ :report ] ==
'by_donor' %><b>By Donor</b></p>
  <p><%= submit_tag "Choose" %><p>
<% end %>

<%= render( :partial => "orders" , :object => @orders ) %>
(Inside of the _orders partial is where params[ :report ] is
processed)

But it's ugly in that pressing "Choose" is redundant--I want the
partial action to happen when the user simply selects the radio
button. Is there any way to do this?

Many TIA,
Craig

Hi Craig,

Thanks, Bill! The docs for observe_form are sparse:

"Observes the form with the DOM ID specified by form_id and calls a
callback when its contents have changed. The default callback is an
Ajax call. By default all fields of the observed field are sent as
parameters with the Ajax call.

The options for observe_form are the same as the options for
observe_field. The JavaScript variable value available to the :with
option is set to the serialized form by default."

...

observe_field seems quite different... I've looked up various
references on the web and played around without success. How would I
use "observe_form" with my code? I get the feeling the answer is
simple, and I'm just missing it...

Many TIA,
Craig

This for example does not work: (index.html.erb)
...
<% form_tag '', { :id => 'myform', :method => :get } do %>
   <p><%= radio_button_tag :report, 'by_date', params[ :report ] ||=
'by_date' %><b>By Date</b></p>
   <p><%= radio_button_tag :report, 'by_donor', params[ :report ] ==
'by_donor' %><b>By Donor</b></p>
  <p><%= submit_tag "Choose" %><p>
<% end %>

<%= observe_form( 'myform',
  :frequency => 1,
  :with => "report",
  :action => :index ) %>

<%= render( :partial => "reports" ) %>
...

Any ideas?
Again, many TIA,
Craig

This gives you an ajax response.
<%= radio_button_tag :report, 'by_date', params[ :report ] ||=
'by_date', :onclick => remote_function( :url=> { :controller =>
'myforms', :action => 'do' } ) %>

Hi Craig,

This for example does not work: (index.html.erb)

What, exactly, do you mean 'does not work'? Is the Ajax request not
firing? Are there no params? If there are params, are they not named
what you expect?

If you're going to use/debug Ajax, you need to be using Firefox and the
Firebug plugin. You will be able to see all requests, params, and
responses in the Firebug NET tab, and all Ajax requests, etc. in the
Console tab.

To help further, I'll need to know what you're seeing.

Best regards,
Bill