Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 形成不同的提交操作_Jquery_Ruby On Rails_Submit - Fatal编程技术网

Jquery 形成不同的提交操作

Jquery 形成不同的提交操作,jquery,ruby-on-rails,submit,Jquery,Ruby On Rails,Submit,我有一个显示报告的表单,但我需要3个功能,即打印到pdf,打印到excel,以及使用js通过html本身显示预览 这是第一个条件,仅适用于pdf和excel,并且对这两种格式都有效 控制器: respond_to do |format| if params[:print] format.html { redirect_to :action => "report", :format => "pdf", :start_period => params[:start_pe

我有一个显示报告的表单,但我需要3个功能,即
打印到pdf
打印到excel
,以及使用
js
通过html本身显示预览

这是第一个条件,仅适用于
pdf
excel
,并且对这两种格式都有效

控制器:

respond_to do |format|
  if params[:print]
    format.html { redirect_to :action => "report", :format => "pdf", :start_period => params[:start_period], :end_period => params[:end_period], :warehouse => params[:warehouse] }
  elsif params[:excel]
    format.html { redirect_to :action => "report", :format => "xls", :start_period => params[:start_period], :end_period => params[:end_period], :warehouse => params[:warehouse] }
  else
    format.html
  end
end
<%= form_tag(models_path, :method => "get") do %>
  <%= submit_tag "#{t 'pdf'}", :name => "print" %>
  <%= submit_tag "#{t 'excel'}", :name => "excel" %>
<% end %>
查看:

respond_to do |format|
  if params[:print]
    format.html { redirect_to :action => "report", :format => "pdf", :start_period => params[:start_period], :end_period => params[:end_period], :warehouse => params[:warehouse] }
  elsif params[:excel]
    format.html { redirect_to :action => "report", :format => "xls", :start_period => params[:start_period], :end_period => params[:end_period], :warehouse => params[:warehouse] }
  else
    format.html
  end
end
<%= form_tag(models_path, :method => "get") do %>
  <%= submit_tag "#{t 'pdf'}", :name => "print" %>
  <%= submit_tag "#{t 'excel'}", :name => "excel" %>
<% end %>
新视图

<%= form_tag(models_path, :method => "get", :id => "headers_search") do %>
  <%= submit_tag "#{t 'ep.submit'}", :name => nil, :remote => true %>
  <%= submit_tag "#{t 'pdf'}", :name => "print" %>
  <%= submit_tag "#{t 'excel'}", :name => "excel" %>
<%= end %>
所以,我搞不清楚我犯了什么错误。。我是个rails新手。谢谢

试一下

if params[:name] == "print"
jquery
seralize()
方法不会序列化提交按钮。请参阅上的文档。这意味着,当您通过jquery提交表单时,不会包含任何提交按钮

您需要编辑jquery提交,以包括为使代码正常工作而单击的按钮


请参阅问题的答案-关于如何确定按下了哪个按钮。

我认为我的
标题\u搜索
会造成这种效果,是吗?