【问题标题】:How do I close a popup window, and open the next page in the main window in ROR?如何关闭弹出窗口,然后在 ROR 的主窗口中打开下一页?
【发布时间】:2010-09-07 08:31:44
【问题描述】:

我有一个弹出窗口,其中包含一个为报告收集数据的表单。 当我在该窗口中单击提交时,我希望它关闭弹出窗口,并在调用弹出窗口的原始窗口中打开报告。

我想我可以通过使用在正确的窗口中打开报告

{ :target => <name of window> }

form_tag,但不知道如何确定或设置原始窗口的名称。

我也不知道怎么关闭弹窗。

【问题讨论】:

    标签: html ruby-on-rails ruby


    【解决方案1】:

    :target =&gt; 将 html 属性目标添加到链接。这会打开一个新窗口并将新窗口命名为目标。

    您必须使用 javascript 或 Ajax 来重定向旧页面,

    window.opener.location.href="http://new_url";
    

    然后关闭旧窗口。

    window.close();
    

    这可以通过 rjs 文件或直接在 javascript 中完成。

    【讨论】:

      【解决方案2】:

      可以使用onClick html事件关闭弹窗,如下:

      <%= submit_tag "Go!", {:onClick => "window.close()"} %>
      

      【讨论】:

        【解决方案3】:

        试试这个:

        function fclosepopup(){
        window.opener.location.replace="URL";
        window.close();
        }
        

        它将关闭当前窗口并带您进入父窗口中的下一页。

        【讨论】:

          【解决方案4】:

          this 对于初学者来说怎么样?

          # The submit button in your child window's view:
          <%= button_to_function 'Save', "$('my_form').submit(); window.opener.location.reload(); window.close();" %> 
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多