form_with未提交为AJAX

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了form_with未提交为AJAX相关的知识,希望对你有一定的参考价值。

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

= 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()不会触发'submit'事件,因此不会调用Rails回调来处理它作为远程表单。

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

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

以上是关于form_with未提交为AJAX的主要内容,如果未能解决你的问题,请参考以下文章

Rails form_with(remote:true)错误

nil:NilClass 的未定义方法“错误”-当我单击表单提交时

html 输入类型提交通常在单击时重新加载页面。此片段使输入不重新加载页面以便进行ajax调用

表单中的 Textarea 未使用 jQuery AJAX 通过 POST 提交

当表单中存在文件字段时,Rails 不发出 Ajax 请求

与 PHP 相呼应的表单未使用 ajax 提交