簡體   English   中英

如何使用onclick提交Rails AJAX表單

[英]How do I submit a Rails AJAX form using onclick

如何使用按鈕在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>

在單擊提交時,AJAX表單已成功提交。

但是如何從表單外部提交表單。 運用

<input type='button' onclick="document.getElementById('get_event').onsubmit()" value="Change City">

返回JavaScript錯誤

Uncaught TypeError: object is not a function
  onclick

如何在外部提交此表格?

使用以下方式

<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>

定期提交演示

演示:示例ajax提交,請參閱firebug中的網絡選項卡

我認為你的問題出現了

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

改變這一點

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

如果列表模型可訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM