Hi!
Wondering if anyone can tell me what’s wrong with my code?
I’m trying to use the onChange event of a select list to update multiple
divs…
Agile Web D. with Rails (p. 403) suggests using “:complete =>
eval(request.responseText) instead of :update”
I’ve attempted the following test code:
in the view
<select name=“plist”, class=“required”, onchange=“<%=
remote_function(:complete => evaluate_remote_response, :url => { :action
=> :updateDivs }) %>” >
controller
def updateDivs
render(:layout => false)
end
updateDivs.rhtml
<%= javascript_tag(
update_element_function(
“detail1”, :position => :top, :content => “testData1” ) +
update_element_function(
“detail2”, :position => :top, :content => “testData2” ) +
update_element_function(
“detail3”, :position => :top, :content => “testData3” ) +
update_element_function(
“detail4”, :position => :top, :content => “testData4” )) %>
I don’t get any errors, but the testdata is not inserted into the divs
either.
The example in the book replaces the :update with a :complete, but this
is done on a “link_to_remote()” not on a “remote_function()” as I have
done… I assumed that this would be OK because the documentation says
that remote_function “Takes the same arguments as link_to_remote”?!?
Just for grins I tried adding the following:
<%= link_to_remote "Try Me",
:complete => "eval(request.responseText)",
:url => { :action => :updateDivs } %>
Again, no errors, but no output!
Both the link & the select onchange fire the updateDivs method & produce
exactly the same log output for both:
link/“Try Me” log output:
Processing TestemController#updateDivs (for 127.0.0.1 at 2005-12-23
22:41:17) [POST]
Parameters: {“action”=>“updateDivs”, “controller”=>“testem”}
Rendering testem/updateDivs
Completed in 0.01366 (73 reqs/sec) | Rendering: 0.00871 (63%) | 200 OK
[http://localhost/testem/updateDivs]
Select/onChange log output:
Processing TestemController#updateDivs (for 127.0.0.1 at 2005-12-23
22:41:23) [POST]
Parameters: {“action”=>“updateDivs”, “controller”=>“testem”}
Rendering testem/updateDivs
Completed in 0.00775 (129 reqs/sec) | Rendering: 0.00353 (45%) | 200 OK
[http://localhost/testem/updateDivs]
Any help would be appreciated, I’m really stuck!
Thanks!