我的页面上有一个搜索表单,启用 Turbolinks 是安全的,因为它使用 method="get"
有什么简单的方法可以让表单在 Turbolinks 的控制下提交(即避免页面刷新)
我的页面上有一个搜索表单,启用 Turbolinks 是安全的,因为它使用 method="get"
有什么简单的方法可以让表单在 Turbolinks 的控制下提交(即避免页面刷新)
你可以在你的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>
在 turbolinks 项目中,有问题 #64有人为 Rails 编写了 Coffeescript 实现。
添加该链接提供的代码。它添加了一个turboforms
需要在页面就绪时调用的函数,如下所示:
$(turboforms);
我正在实施这个,如果我发现任何其他有用的东西,我会更新我的答案。