Ajax-submit form on “check box onclick ”: why this

2019-04-13 05:46发布

I need to have a checkbox which ajax-submits a form.

The following code throws an error "index 112009 out of string". What's wrong here?

<% form_remote_tag :url => { whatever_url } do -%>

<%= check_box_tag 'whatever', nil, whatever, { :onclick => "#{remote_function('this.form.submit();')}" } %>

<% end -%>

Thanks for any help with this!

Tom

1条回答
闹够了就滚
2楼-- · 2019-04-13 06:21

Seems you are abusing the remote_function helper. Its purpose is to generate the same javascript as is generated with link_to_remote et al., like, to update a div with the result of an AJAX call. In your case you need a simple thing like

<%= check_box_tag 'whatever', nil, whatever, { :onclick => "$('your_form').onsubmit();" } %>

Note the onsubmit, not submit. This is because the code you need to submit the form via AJAX is present in the onsubmit attribute of the form.

查看更多
登录 后发表回答