? 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