从javascript调用Rails Controller/action提交表单

Calling Rails Controller/action submit form from javascript?

本文关键字:action 提交 表单 Controller javascript 调用 Rails      更新时间:2023-09-26

这是我的轨道形式

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

它调用valider_form JavaScript函数,然后调用控制器的验证器操作以将数据存储在数据库中。

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

在我的表单中添加一个 id:

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

在我的 javascript OnUnload 事件中:

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

试试这个:

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

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