【发布时间】:2013-07-15 10:33:58
【问题描述】:
我的页面上有一个搜索表单,启用 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;
});
然后,要使用 turbolink 发送任何表单,您需要将 data-turboform 属性添加到表单,如下所示:
<form action="..." method="get" data-turboform>
...
</form>
【讨论】:
在 turbolinks 项目中,issue #64 有人为 Rails 编写了 Coffeescript 实现。
添加该链接提供的代码。
它添加了一个turboforms 函数,需要在页面准备好时调用,如下所示:
$(turboforms);
我正在实施这个,如果我发现任何其他有用的东西,我会更新我的答案。
【讨论】: