【问题标题】:How to open a new tab on button click in Rails?如何在 Rails 中单击按钮时打开一个新选项卡?
【发布时间】:2012-08-01 07:30:48
【问题描述】:

我有一个按钮可以将用户导航到另一个页面。 (它必须是按钮而不是链接)。我想在新标签页(甚至新窗口!)中打开页面。我必须使用 JavaScript 吗?或者有没有其他方法!感谢您的帮助。

干杯。

【问题讨论】:

  • 只是想知道,为什么需要它作为按钮以及如何使用按钮导航网站?
  • 嗯,这是我的大学使用的一种个性化按钮。导航是这样的:
  • 定制是否意味着设计/css 明智?为什么不将相同的样式应用于锚点,以便更容易使用 href。
  • 但是无论如何,你愿意使用javascript吗?
  • Css 设计和一些编码的东西。取决于情况,按钮会稍微改变它的行为。我不想碰它,但如果我必须碰它,我会的。关于 JavaScript。是的,我不擅长 JavaScript,但我必须从某个地方开始! :)

标签: html ruby-on-rails


【解决方案1】:

扩展建议在 Rails 中使用 `target="_blank" 的答案...

如果您使用button_to 帮助程序,Rails 会自动将其包装在表单中。 form 标签需要这个属性。要获取它,请将其作为值传递到 html 选项的哈希中,例如:

button_to t(:translated_text), foo_path(foo.id), class: 'btn btn-primary', form: {target: '_blank'}

class:form:html_options 哈希的元素。 form: 选项很特别,因为它告诉 Rails 你想将 HTML 选项传递给 form 标签,而不是按钮本身的 input 标签。

【讨论】:

    【解决方案2】:

    这是一个 html 问题。如果您想使用按钮而不是链接,您可以将 target 属性提供给表单,如下所述: http://www.w3schools.com/tags/att_form_target.asp

    【讨论】:

      【解决方案3】:
      $('#btn').click(function(){
         window.open('pageName');
      

      })

      【讨论】:

        【解决方案4】:

        target="_blank" 是你想要的,但它只适用于表单和链接。

        您可以很容易地使用 css 为链接设置样式,使其看起来像一个按钮,这将是实现您所追求的最简洁的方式。

        除非您的按钮在表单中,否则您只需将 target="_blank" 添加到您的表单中即可。

        【讨论】:

          【解决方案5】:

          使用 javascript,这会选择所有具有 href 属性的按钮

          $("button[href]").click(function() {
             window.open($(this).attr('href'));
          });
          

          这实际上会打开一个新窗口,但我认为当浏览器强制它在新标签页中打开时,它会在新标签页中打开。

          干杯!

          【讨论】:

            猜你喜欢
            • 2019-09-20
            • 1970-01-01
            • 2016-03-11
            • 2022-07-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多