从javascript调用Rails控制器/操作提交表单?

时间:2012-08-13 17:16:14

标签: javascript ruby-on-rails

以下是我的视图中的rails表格

<%= form_tag :action=> "valider" do %>
....
<%= submit_tag  "Valider", {:class => 'bouton', :onclick=>"valider_form()"} %>
...<% end %>

它调用了valider_form javascript函数,然后调用控制器的valider动作将数据存储在数据库中。

当用户使用非空表单离开页面时,我们建议存储他的数据,我们想要调用valider_form()javascript函数和控制器的valider动作。我们使用OnUnload javascript事件,并且很容易调用valider_form()javascript函数。但是,我们不知道如何在javascript中调用valider动作,或者模拟这个帖子事件。

2 个答案:

答案 0 :(得分:0)

在表单中添加ID:

<%= form_tag  '/mon_equipe/valider', :id=>'equipe' do %>

在我的javascript OnUnload事件中:

valider_form();
var form = document.getElementById("equipe");
form.submit();

答案 1 :(得分:0)

试试这个:

<%= form_tag url_for(:controller => 'controller_name', :action => :valider),
:remote => true do %>
    ...
<% end %>

:remote => true选项使Rails使用AJAX动态提交请求,调用:valider控制器中的'controller_name'方法。