Observe_form question

Ok in my view.rhtml:

<% form_for :sale, :url => {:action => ‘add_sale’, :id => @report},
:html => {:id => ‘sales_form’} do |f| %>

<%= f.text_field :unit_price, :size => 10 %>

<% end %>

<%= observe_form( :sales_form, :url => {:action => “update_sales_form”},
:update => :sale_unit_price) %>

and in my controller:

def update_sales_form
render :text => “100”
end


Now when i make a change to the form (click around, etc), it is calling
“update_sales_form”. But apparently I’m confused as to how to update the
“unit_price” element in the DOM.

Thanks for any help

On Wed, Oct 1, 2008 at 2:29 PM, Allen W.
[email protected] wrote:

<%= observe_form( :sales_form, :url => {:action => “update_sales_form”},
:update => :sale_unit_price) %>

Now when i make a change to the form (click around, etc), it is calling
“update_sales_form”. But apparently I’m confused as to how to update the
“unit_price” element in the DOM.

Did you mean to type:

<%= observe_form( :sales_form, :url => {:action =>
“update_sales_form”},
:update => :unit_price) %>
^^^^^^^^^^^^^^^^^^^^^^^^^

unit_price not sale_unit_price ?

Mikel

Rails, RSpec and Life blog…

Well I’ve tried both and it doesn’t work. My generated html source for
the form:

Mikel L. wrote:

On Wed, Oct 1, 2008 at 2:29 PM, Allen W.
[email protected] wrote:

<%= observe_form( :sales_form, :url => {:action => “update_sales_form”},
:update => :sale_unit_price) %>

Now when i make a change to the form (click around, etc), it is calling
“update_sales_form”. But apparently I’m confused as to how to update the
“unit_price” element in the DOM.

Did you mean to type:

<%= observe_form( :sales_form, :url => {:action =>
“update_sales_form”},
:update => :unit_price) %>
^^^^^^^^^^^^^^^^^^^^^^^^^

unit_price not sale_unit_price ?

Mikel


http://lindsaar.net/
Rails, RSpec and Life blog…

On Oct 1, 8:08 am, Allen W. [email protected]
wrote:

Well I’ve tried both and it doesn’t work. My generated html source for
the form:

The :update option isn’t going to do much since it replaces the inner
html for the tag and an input tag has no inner html. Executing some
javascript along the lines of $(‘sale_unit_price’).value = … should
do the trick

Fred

Ok … so how exactly should I code this in my controller method? Also
you are suggesting I should not have the :update option at all in my
observe_form call?

Frederick C. wrote:

On Oct 1, 8:08�am, Allen W. [email protected]
wrote:

Well I’ve tried both and it doesn’t work. My generated html source for
the form:

The :update option isn’t going to do much since it replaces the inner
html for the tag and an input tag has no inner html. Executing some
javascript along the lines of $(‘sale_unit_price’).value = … should
do the trick

Fred

In my controller I tried:

render :text => “$(‘sale_unit_price’).value = 100”

no such luck

Allen W. wrote:

Ok … so how exactly should I code this in my controller method? Also
you are suggesting I should not have the :update option at all in my
observe_form call?

Frederick C. wrote:

On Oct 1, 8:08�am, Allen W. [email protected]
wrote:

Well I’ve tried both and it doesn’t work. My generated html source for
the form:

The :update option isn’t going to do much since it replaces the inner
html for the tag and an input tag has no inner html. Executing some
javascript along the lines of $(‘sale_unit_price’).value = … should
do the trick

Fred

Ok I got it to work doing:

render :update do |page|
page << “$(‘sale_unit_price’).value = 100;”
end

That won’t work unless you’ve removed the :update option from your
observe form (and probably won’t work then since I seem to remember
that prototype checks the content type of the response). An rjs (or
js.erb) template or a render :update block would take care of that.

Fred

Sent from my iPhone

On 1 Oct 2008, at 18:48, Allen W. <rails-mailing-list@andreas-