Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用onclick提交Rails AJAX表单_Javascript_Jquery_Ruby On Rails_Ajax_Forms - Fatal编程技术网

Javascript 如何使用onclick提交Rails AJAX表单

Javascript 如何使用onclick提交Rails AJAX表单,javascript,jquery,ruby-on-rails,ajax,forms,Javascript,Jquery,Ruby On Rails,Ajax,Forms,如何使用按钮在rails中提交AJAX表单 我的代码: Controller: def list @events = ExternalEvent.all if !params[:city_id].nil? @events = @events.where(city_id: params[:city_id]) end respond_to do |format| format.js format.html end end list.js.erb: $

如何使用按钮在rails中提交AJAX表单

我的代码:

Controller:

def list
  @events = ExternalEvent.all
  if !params[:city_id].nil?
    @events = @events.where(city_id: params[:city_id])
  end
  respond_to do |format|
    format.js
    format.html
  end
end

list.js.erb:

$('#events').html("<%= j render 'events' %>");

list.erb:

<%= javascript_include_tag "jquery" %>
<%= javascript_include_tag "application" %>
<div id='events'>
  <%= render 'events' %>
</div>

_events.erb:

<%= form_tag('/list', remote: true) do %>
  <input name='city_id' value='2'>
  <input type='Submit'>
<% end %>
<table>
  <% for event in @events %>
    <tr>
      <td>
        <%= event.name %>
      </td>
    </tr>
  <% end %>
</table>
如何从外部提交此表单?

使用以下方式

<form id="get_event">
<input type='button' onclick="document.getElementById('get_event').submit();" value="Change City">
    </form>

issubmit()不是函数,但submit()是函数

对于AJAX使用AJAX调用提交表单而不重新加载页面:

<form id="get_event">
<input type='button' onclick="submitFrmAjax();" value="Change City">
</form>

<script>
    function submitFrmAjax(){
       $.ajax({
    //Your ajax code here to submit from via AJAX. refer jquery site . I gave sample eg.
             url : "Your URL or file name on server",
             data : $("form").serialize()
        });
    }
</script>

函数submitFrmAjax(){
$.ajax({
//您的ajax代码在这里通过ajax提交。请参考jquery网站。我给出了示例例如。
url:“您在服务器上的url或文件名”,
数据:$(“格式”).serialize()
});
}


我想你的问题就出现在这里了

<%= form_tag('/list', remote: true) do %>

换成

<%= form_tag(:list, :url => '/list', remote: true) do %>
'/list',remote:true)do%>

如果列表模型是可访问的

请参阅。它包含URL、要发送的数据、返回数据的数据类型等。。。谢谢但我认为rails应该做些什么explicitly@Zeutheus,没有Ruby像PHP那样是服务器端语言。ajax和jquery是用于前端的。所以无论您在服务器端使用什么。AJAX、jquery和HTML一样适用于所有应用程序:我知道这没关系,但仅供参考,当我使用Rails 2.3时,onsubmit()仍然有效。。。它执行AJAX提交。。
<%= form_tag('/list', remote: true) do %>
<%= form_tag(:list, :url => '/list', remote: true) do %>