Forum: Ruby on Rails Few Questions about form_for_remote

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
tashfeen.ekram (Guest)
on 2009-03-25 19:23
(Received via mailing list)
Still learning some stuff so forgive the newbie type questions.

1. if i use the :update param on form_for_remote can I mix javascript
and ruby? i want to use the selector offered by prototype but pass in
the parameters from a ruby expression

<% form_remote_for(userdrug, :loading => "$('XXXX').show();" + "alert
('hi');" do |f| %>

I would basically like in where XXXX is to have an ruby expression
like object.id

2. Can you use RJS commands for  :loading ? seems like not :(

3. for the button:

<%= f.submit "Update", :disable_with => "Please wait..." %>

I would like it to be disabled until the request ir returned however
using the above only disables it momentrily whil it is sending the
request and then it can be pressed again even before the sever
responds.

Thanks!
tashfeen.ekram (Guest)
on 2009-03-25 20:13
(Received via mailing list)
figured out answer to the first one:

<% form_remote_for(userdrug, :loading => "$('" + user.id + "').show
();" + "alert('hi');" do |f| %>
Frederick C. (Guest)
on 2009-03-25 20:18
(Received via mailing list)
On Mar 25, 5:22 pm, "tashfeen.ekram" <removed_email_address@domain.invalid> 
wrote:
> like object.id
That's a ruby string, you can put whatever ruby expression you want
(of course this is evaluated when the template is rendered, not when
you press submit

>
> 2. Can you use RJS commands for  :loading ? seems like not :(
>
You can via update_page (an ajax responder is often cleaner though).
You'll write better JS once you get over RJS

> 3. for the button:
>
> <%= f.submit "Update", :disable_with => "Please wait..." %>
>
> I would like it to be disabled until the request ir returned however
> using the above only disables it momentrily whil it is sending the
> request and then it can be pressed again even before the sever
> responds.
>
Personally I would do that via an ajax callback. The code for submit
looks it would undisable the button if the onsubmit returns false
(which the one remote_form_for will do since it's preventing the
browser from submitting the form normally)

Fred
Greg D. (Guest)
on 2009-03-25 20:33
(Received via mailing list)
On Wed, Mar 25, 2009 at 12:22 PM, tashfeen.ekram
<removed_email_address@domain.invalid> wrote:
> 1. if i use the :update param on form_for_remote can I mix javascript
> and ruby? i want to use the selector offered by prototype but pass in
> the parameters from a ruby expression

You can, but in some case you may find an RJS template easier to deal
with, especially if you have complex logic after the form post.  I
usually just use :loading and :completed in my form tag and then do my
update using replace_html instead of :update.

> 2. Can you use RJS commands for  :loading ? seems like not :(

I've never tried, but yeah I think not also.

> 3. for the button:
>
> <%= f.submit "Update", :disable_with => "Please wait..." %>
>
> I would like it to be disabled until the request ir returned however
> using the above only disables it momentrily whil it is sending the
> request and then it can be pressed again even before the sever
> responds.

That sounds like a bug to me.


--
Greg D.
http://destiney.com/
This topic is locked and can not be replied to.