9

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

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

4

2 回答 2

25

你可以在你的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;
});

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

<form action="..." method="get" data-turboform>
    ...
</form>
于 2013-12-04T18:29:00.717 回答
1

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

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

$(turboforms);

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

于 2013-08-23T18:20:01.470 回答