在表单提交上,在新选项卡中打开新页面并重定向原始页面

时间:2014-07-09 20:52:36

标签: javascript jquery ruby-on-rails

我有三页。 Page-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";
  });
};

1 个答案:

答案 0 :(得分:1)

您可以简单地将按钮设置为具有右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();
  });
});