Javascript 如何使用onclick提交Rails AJAX表单
如何使用按钮在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: $
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 %>