Javascript 带有param的Rails远程窗体

Javascript 带有param的Rails远程窗体,javascript,ruby-on-rails,ajax,ruby-on-rails-5,sweetalert,Javascript,Ruby On Rails,Ajax,Ruby On Rails 5,Sweetalert,我现在有一张表格 <%= form_for @emailer, :remote => true do |f| %> <%= f.email_field :email, placeholder: "Email" %> <%= f.submit "Send" %> <% end %> 它正在工作,但是表单当然不会接收任何电子邮件,因此不会创建新的电子邮件发送程序 如何通过在弹出窗口中发送电子邮件字段的值来提交表单? 像 使用可能的解决方

我现在有一张表格

<%= form_for @emailer, :remote => true do |f| %>
  <%= f.email_field :email, placeholder: "Email" %>
  <%= f.submit "Send" %>
<% end %>
它正在工作,但是表单当然不会接收任何电子邮件,因此不会创建新的
电子邮件发送程序

如何通过在弹出窗口中发送电子邮件字段的值来提交表单? 像

使用可能的解决方案进行编辑:

我真的试过了

if (email) {
  form = $("#new_emailer")[0]
  $('#emailer_email').val(email) // this is the email field of the form
  Rails.fire(form, 'submit');
}

它工作正常,但我不确定这是否是最好的解决方案。

我发现您的代码中没有id
subscriber\u email
的元素。另外,当您尝试炸提交事件时,是否会有多个id为“new_emailer”的元素
Rails.fire(form,'submit')
如果email字段有一个值(看起来像是您在设置它,但ID让我感到困惑),则确实应该将表单与电子邮件一起发送。@arieljuod抱歉,刚刚编辑过。该代码正在运行,并使用正确的电子邮件发送表单。但我想知道是否有其他方法可以代替手动“黑客”电子邮件字段。有些人认为像
Rails.fire(表单,email_值,'submit')fire
是在元素上触发事件的通用方法,而不是针对表单的特定方法,因此参数没有特殊语法。如果您有该控件,可以尝试在弹出的电子邮件字段中使用“form”属性,但我不确定调用fire方法时该字段是否仍在DOM上,因为弹出窗口可能会消失,我不会使用此选项,它可以为您节省一些行,但手动设置值更能防止错误。我在您的代码上没有看到id为
subscriber\u email
的元素。另外,当您尝试炸提交事件时,是否会有多个id为“new_emailer”的元素
Rails.fire(form,'submit')
如果email字段有一个值(看起来像是您在设置它,但ID让我感到困惑),则确实应该将表单与电子邮件一起发送。@arieljuod抱歉,刚刚编辑过。该代码正在运行,并使用正确的电子邮件发送表单。但我想知道是否有其他方法可以代替手动“黑客”电子邮件字段。有些人认为像
Rails.fire(表单,email_值,'submit')fire
是在元素上触发事件的通用方法,而不是针对表单的特定方法,因此参数没有特殊语法。如果您有该控件,可以尝试在弹出的电子邮件字段中使用“form”属性,但我不确定调用fire方法时字段是否仍在DOM上,因为弹出窗口可能会消失,我不会使用此选项,它可以为您节省一些行,但手动设置值更能防止错误。
Rails.fire(form, email, 'submit');
if (email) {
  form = $("#new_emailer")[0]
  $('#emailer_email').val(email) // this is the email field of the form
  Rails.fire(form, 'submit');
}