Trigger AJAX form submit on change

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

$.ajax({   type: "POST",    url: "yourdomain.com,    data: "requstids="+response.request_ids }).done(function( msg ) {}) try in this way

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.

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 :slight_smile:

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! :slight_smile: