javascript - form_with 不作为 AJAX 提交

标签 javascript ruby-on-rails ajax xmlhttprequest

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

= 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 表单上的属性。谁能告诉我我可能做错了什么?

最佳答案

使用 this.form.submit() 不会触发“提交”事件,因此不会调用将其作为远程表单处理的 Rails 回调。

使用 onchange="Rails.fire(this.form, 'submit')" 代替。这样你就可以告诉 Rails javascript 对象触发该事件。

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

关于javascript - form_with 不作为 AJAX 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54876001/

相关文章:

ruby-on-rails - 保护知识产权免遭海外承包商盗窃

c# - 从谷歌 API 获取不准确的谷歌搜索结果

javascript - 当 child 被过滤掉时,如何让 parent 不显示?

javascript - html 中预加载的数据

javascript - NodeJS动态读取目录

java - 使用 Servlet 来处理 AJAX 请求?

javascript - 通过JS在表中添加新行,如何包含变量?

javascript - 使用 Javascript 在移动 View 中滚动时按钮固定到页面

ruby-on-rails - 了解 Rails 中的新 session 何时开始

ruby-on-rails - Heroku 上的 strftime 错误