rails - 如何使用带有form_tag的onsubmit

时间:2015-11-14 02:00:47

标签: javascript ruby-on-rails ruby

我想将以下代码转换为form_forform_tag

<form onsubmit="foo()">

我该怎么办?我不想连接另一个页面(action =“/ URL”)。

我希望在提交此表单时触发function foo()

3 个答案:

答案 0 :(得分:14)

使用form_tagform_for这应该很容易。例如:

<%= form_for @model, :html => { :onsubmit => "foo()" } %>
<% end %>

<%= form_tag '#', :html => { :onsubmit => "foo()" } %>
<% end %>

答案 1 :(得分:4)

form_tagform_for更容易。试试这个:

<%= form_tag '#', onsubmit: "foo();" do %>

<% end %>

此外,请不要忘记在foo()内,它应return false,以便表单实际上不会提交!

答案 2 :(得分:3)

您最好将foo();函数放入Rails中的unobtrusive资产管道中:

#app/assets/javascripts/application.js
var foo = function(e) {
   e.preventDefault();
   ...
};
$(document).on("submit", "#form", foo(e));

你可以陪伴......

<%= form_tag "#", id: "form" do %>