1

我有我的表单标签,并且我的表单中有两个按钮。单击提交按钮时,如何在表单中调用不同的操作。

这是我的代码:

<%= form_for :attachment_metadata, :url=>{:action=>'delete_files'}, :html=>{:onsubmit=> "return confirm('Are you sure, you want to delete selected files?');",:multipart => true} do |f| %>
   <table>
     ..........Some stuff here..........
   </table> 
<%= submit_tag 'Reprocess', :class =>'button' %>
<%= submit_tag 'Remove', :class =>'button' %>
<% end %>

单击“重新处理”时,我想以相同的形式调用不同的操作。

我怎样才能做到这一点?

请帮忙

提前致谢

4

3 回答 3

1

这在Railscast 38中有介绍。我相信它会解决你的问题。它非常简单。每当您提交表单时,它会在 params hash 中发送一些关于您执行的提交的信息,我建议您看一下 railscast,您会完全理解。

于 2013-03-25T06:38:47.613 回答
1

params[:commit]可以区分两个提交标签的动作。
更新:

@action = 参数[:commit]

如果您单击按钮,它会将@action值作为“ Reprocess”,如果您单击Reprocess按钮,它会给出“ Remove”值Remove

于 2013-03-25T06:40:17.070 回答
0

您可以有两种不同的表单,您可以使用 jQuery 提交表单。在这种情况下,您可以将表单提交到特定位置。

<form id="target" action="destination.html">
  <input type="text" value="Hello there" />
  <input type="submit" value="Go" />
</form>
<div id="other">
  Trigger the handler
</div>

$('#target').submit(function() {
  alert('Handler for .submit() called.');
  return false;
});
于 2013-03-25T06:44:17.373 回答