两个提交按钮,但只有一个遥控器:true [英] Two submit buttons but only one remote:true

查看:47
本文介绍了两个提交按钮,但只有一个遥控器:true的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有两个提交按钮的表单,以便我可以执行这样的任务:

I have an form with two submit buttons so that i can perform tasks like this:

<% form_for(something) do |f| %>
  ..
  <%= f.submit 'A' %>
  <%= f.submit 'B' %>
  ..
<% end %>

控制器:

def <controller action>
  if params[:commit] == 'A'
      # A was pressed 
  elsif params[:commit] == 'B'
      # B was pressed
  end
end

所以我的问题是我怎么能说当使用按钮A"提交表单时,表单是:

So my question is how can i say that when the form gets submitted with button 'A' the form is:

<% form_for(something), :remote => true do |f| %>

当它与按钮 B 一起被提交时,它是一种正常形式:

And when its gets sumitted with button B its an normal form:

<% form_for(something) do |f| %>

推荐答案

我想,你不可能用这种方式来做这件事.但是,它可以通过 javascript 来完成.

You're not going to be able to do it this way, I think. But, it can be done via javascript.

从您的表单中删除远程真实表单.将 javascript 回调添加到您的提交按钮单击事件之一以通过 ajax 提交表单.相应地调整您的控制器.

Remove the remote true form your form. Add a javascript callback to one of your submit buttons click events to submit the form via ajax. Adjust your controller accordingly.

这篇关于两个提交按钮,但只有一个遥控器:true的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆