2014-07-09 49 views
0

我有三個頁面。頁面1具有一種表單,在提交時應該在新標籤中打開第2頁,而第1頁應該重定向到第3頁。在表單提交上,在新選項卡中打開新頁面並重定向原始頁面

現在,單擊提交可以在新選項卡中打開第2頁,但它不會重定向第1頁,除非我已經碰巧打開了第2頁。如果第2頁已經打開並且我點擊提交,那麼第1頁重定向到第3頁。

我怎樣才能使兩者都發生?

在視圖模板:

%button.step1-button.submit{:onClick => "redirect();"} Get Started 

在控制器:

@form = FormSubmit.create(:name => name, :form => "/") 
     respond_to do |format| 
      format.html {redirect_to :page_2} 
      format.js { render :action => "redirect()"} 

在redirect.js:

function pop_under2() { 
    $('.step1-button').bind("click", function() { 
    window.location.href = "http://localhost:3000/exit"; 
    }); 
}; 

回答

0

你可以簡單地使按鈕與正確的href和目標鏈接集,它有一個額外的事件監聽器,它提交表單。控制器可以在之後重定向。

模板

%a.step1-button.submit.js-submit-form{href: "your_page2_url", target: "_blank"} Get Started 

控制器

@form = FormSubmit.create(:name => name, :form => "/") 
redirect_to :page_3 

JS

$(function(){ 
    $('.js-submit-form').on('click', function() { 
    $(this).parent('form').submit(); 
    }); 
}); 
+0

這是提交表單,但它不是重定向原件page_3。 – dagarre

+0

您正在使用遠程表單的表單?無論如何,我更新了我的代碼 –

+0

不,它不是一個遙控器。我通過添加「document.location.href =」/ page_3「;它仍然工作仍然不知道爲什麼重定向不起作用的控制器,但我認爲這解決了它。 – dagarre

相關問題