form_with未提交为AJAX

问题描述 投票:0回答:1

我在我的应用程序中有一个表单,我将通过以下方式声明:

= form_with model: project, remote: true, method: :put do |f|
  = f.select :selected_draw, options_for_select(project.draws.pluck(:number, :id), draw.id), {}, class: 'form-control', onchange: "this.form.submit()"

而且我似乎无法将其作为远程表单提交,即使在我的应用程序的其他部分我使用远程表单,并且在此表单上它确实在表单上设置了data-remote属性。谁能告诉我我可能做错了什么?

javascript ruby-on-rails ajax xmlhttprequest
1个回答
1
投票

使用this.form.submit()不会触发'submit'事件,因此不会调用Rails回调来处理它作为远程表单。

请改用onchange="Rails.fire(this.form, 'submit')"。这样你告诉Rails javascript对象来激活事件。

编辑:那是使用rails-ujs,我不确定它是否与jquery-ujs相同

© www.soinside.com 2019 - 2024. All rights reserved.