Trigger AJAX form submit on change

667 views
Skip to first unread message

Linus Pettersson

unread,
Nov 23, 2011, 10:30:55 AM11/23/11
to rubyonra...@googlegroups.com
Hi!

I have a small form that I want to submit through AJAX when a dropdown is changed. I have set the form to be :remote => true.

But if I do something like:

$('.element').change ->
    this.form.submit()


The form is not submitted through AJAX. Can I trigger Rails ajax submit function somehow instead of the .submit()?

Regards
Linus

subbarao

unread,
Nov 24, 2011, 2:30:29 AM11/24/11
to rubyonra...@googlegroups.com
> --
> You received this message because you are subscribed to the Google
> Groups "Ruby on Rails: Talk" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/rubyonrails-talk/-/0ZbSiKJ6iIYJ.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
$.ajax({
type: "POST",
url: "https://yourdomain.com/path",
data: "requstids="+response.request_ids
}).done(function( msg ) {})
try in this way

Justin Collum

unread,
Nov 24, 2011, 1:22:15 PM11/24/11
to Ruby on Rails: Talk
I think what you're doing is a bit odd. Submits should really come
from a user directly clicking on a GO button. Changing a dropdown
should be more passive -- it's very easy to mis-click in those things,
leaving the user in an odd spot. If you want to get a set of data etc.
when the user changes the dropdown I'd do a GET via Jquery in the
dropdown's selection change event.

Just my opinion tho.

On Nov 23, 7:30 am, Linus Pettersson <linus.petters...@gmail.com>
wrote:

Linus Pettersson

unread,
Nov 24, 2011, 2:44:10 PM11/24/11
to rubyonra...@googlegroups.com
Yes, of course. This was only in an Admin interface where I will need to quickly select a dropdown only for each post. It is very tedious to select and then click a button when you might need to do it like a couple of thousand times :)

I use Active Admin which comes with an old jQuery / rails javascript. I updated it and then I could do this:

$('#myform select.something').change ->
    form = $(this.form)
    form.trigger 'submit.rails'
    ....

Works great! :)
Reply all
Reply to author
Forward
0 new messages