【问题标题】:How can I make a form with method="get" submit with Turbolinks如何使用 Turbolinks 制作带有 method="get" 的表单提交
【发布时间】:2013-07-15 10:33:58
【问题描述】:

我的页面上有一个搜索表单,启用 Turbolinks 是安全的,因为它使用 method="get"

有什么简单的方法可以让表单在 Turbolinks 的控制下提交(即避免页面刷新)

【问题讨论】:

    标签: ruby-on-rails turbolinks


    【解决方案1】:

    您可以在 application.js 中使用类似的内容:

    // send get forms through turbolinks
    $(document).on("submit", "form[data-turboform]", function(e) {
        Turbolinks.visit(this.action+(this.action.indexOf('?') == -1 ? '?' : '&')+$(this).serialize());
        return false;
    });
    

    然后,要使用 turbolink 发送任何表单,您需要将 data-turboform 属性添加到表单,如下所示:

    <form action="..." method="get" data-turboform>
        ...
    </form>
    

    【讨论】:

    • 将它与“form[method=get]”一起使用会更简单:)
    【解决方案2】:

    在 turbolinks 项目中,issue #64 有人为 Rails 编写了 Coffeescript 实现。

    添加该链接提供的代码。 它添加了一个turboforms 函数,需要在页面准备好时调用,如下所示:

    $(turboforms);
    

    我正在实施这个,如果我发现任何其他有用的东西,我会更新我的答案。

    【讨论】:

    • 干杯,似乎死路一条:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 2011-07-18
    相关资源
    最近更新 更多