在rails中单击“提交”打开一个新窗口

时间:2016-07-14 05:32:06

标签: ruby-on-rails ruby

您好我想在rails上使用ruby点击提交按钮打开新窗口,这是我的代码

<div class="actions">
        <%= f.button :submit,:class => 'btn btn-md btn-success' do %>
          <i class='fa fa fa-plus'></i> Create New Window
        <% end %>
</div>

我试过了:target =&gt; &#34; _blank&#34;在提交,但它不起作用,请帮助我

4 个答案:

答案 0 :(得分:15)

使用formtarget =&#34; _blank&#34;。

<%= form_for @my_obj do |f|

<div class="actions">
    <%= f.button :submit,:class => 'btn btn-md btn-success', :formtarget => "_blank" do %>
      <i class='fa fa fa-plus'></i> Create New Window
    <% end %>
</div>

此链接可以帮助您http://www.w3schools.com/tags/att_button_formtarget.asp

答案 1 :(得分:2)

您必须在表单中传递target="_blank"

示例

<form action="..." ...
onsubmit="window.open('google.html', '_blank', 'scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,status=no');return true;">

试试这个

答案 2 :(得分:1)

您是否尝试将目标作为_blank参数发送到form_for而不是提交按钮。

<%= form_for @my_obj, html: { target: "_blank" } do |f|

<div class="actions">
        <%= f.button :submit,:class => 'btn btn-md btn-success' do %>
          <i class='fa fa fa-plus'></i> Create New Window
        <% end %>
</div>

答案 3 :(得分:1)

如果您想有条件地打开窗口,根据成功提交表单,您可能会:

  • 在表单上设置remote: true
  • 向控制器添加format.js { render :show, status: :ok }
  • 根据Vishal的回复
  • 添加运行show.js的{​​{1}}个文件

这是您开始使用AJAX表单的一种方式