2013-04-05 35 views
0

我有一個表格來顯示一個報告,但我需要3個特點是print to pdfprint to excel,並通過HTML本身也顯示預覽使用js形異提交行動

這是第一個條件是隻針對pdfexcel,兩者都很好。

控制器:

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 %> 

但是當我開始通過js增加預覽功能,它不是錯誤,但是這兩個提交按鈕(PDF N EXCEL)指向js

新控制器

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 
    format.js # NEW LINE 
    end 
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 %> 

headers_search指向的application.js

$.fn.ajaxFilter = function() { 
    this.submit(function() { 
    $.get(this.action, $(this).serialize(), null, "script"); 
    return false; 
    }); 
} 

$("#headers_search").ajaxFilter(); 

所以,我混淆了我犯的錯誤。我是一名新手。由於

+0

我想我的'headers_search'會導致這種效果,是嗎? – ksugiarto 2013-04-05 09:58:08

回答

1

if params[:name] == "print"