Observe_field with select throwing javascript error


#1

Using the following simple form with a select box, the observe_field is
throwing a javascript error related to the “getValue()” method in the
prototype library. Any ideas as to why? Everything that I can tell is
well formed syntactically. I’m running Rails 2.1.0.

<% form_tag :action => :new do %>
<%= select_tag ‘transaction_type’, “Tuition
ReimbursementSchools & Seminars” %>

<%= observe_field(‘transaction_type’,
:url => { :action => “display_alternate_fields” },
:update => “transaction_specific”,
:with => “‘transaction_type=’ + encodeURIComponent(value)”)
%>

 
<%= submit_tag "Create" %>
<% end %>

The error points to the following line (–>) within the serialize
portion of “Form.Element.Methods” in “prototype.js”:

getValue: function(element) {
element = $(element);
var method = element.tagName.toLowerCase();
–> return Form.Element.Serializersmethod;
},


#2

Corey M. wrote:

<%= observe_field(‘transaction_type’,
:url => { :action => “display_alternate_fields” },
:update => “transaction_specific”,
:with => “‘transaction_type=’ + encodeURIComponent(value)”)
%>

 
<%= submit_tag "Create" %>
<% end %>

The problem is that “value” is not defined in this context.

You should be able to just eliminate the :with option.


Rails Wheels - Find Plugins, List & Sell Plugins -
http://railswheels.com


#3

On 5 Nov 2008, at 12:46, Mark Reginald J. wrote:

<%= select_tag ‘transaction_type’, "Tuition

 
<%= submit_tag "Create" %>
<% end %>

The problem is that “value” is not defined in this context.

You should be able to just eliminate the :with option.

That’s not actually true. The with clause is evaluated in a context
where value is defined.
Are there any other objects on the page with id transaction_type ? (or
to put things another way, if you evaluate $(‘transaction_type’) in
the firebug console, what do you get?)

Fred


#4

Are there any other objects on the page with id transaction_type ? (or
to put things another way, if you evaluate $(‘transaction_type’) in
the firebug console, what do you get?)

Fred

You nailed it Fred. I had stripped out the rest of the page to simplify
what was going on to see if there were any other underlying objects
getting in the way and there was another

on the page with an id of
“transaction_type”. Once I removed it, everything worked fine.

Thanks again,