2016-03-08 24 views
0

我有一個軌道形式是一個頁面的部分,並在用戶填寫表單後,他們擊中一個按鈕,它會引出一個引導模式,並提交該表單是在模態的頁腳中。我不能讓表單提交,我相信我需要一些JavaScript,但我不太熟悉JavaScript。這裏是我對模態的部分,我需要什麼樣的JavaScript來提交?JavaScript使一個模式提交表格在軌道上

<%= form_for [:client, Reportapproval.new], :validate => true do |f| %> <div class="actions"> 
<%= f.hidden_field :blah, :value => current_client.name %> </div> <div class="block-inline"> 
    <label>Blah Blah</label><br> 
    <%= f.select :client... %>  </div> <%= f.text_field :client... %> 
    <label> 
    <%= f.hidden_field :client... %> 
    </label> <div class="text-center"> 
    <button type="button" class="btn btn-success" data-toggle="modal" data-target="#client_disclaimer_modal"> 
    Request a report from this renter 
    </button> <!--- This button opens the modal---> </div> 

<!-- Disclaimer Modal --> <div class="modal fade" id="clent_disclaimer_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
<div class="modal-dialog" role="document"> 
    <div class="modal-content"> 
    <div class="modal-header"> 
     <h4 class="modal-title" id="myModalLabel">Client Disclaimer Agreement</h4> 
    </div> 
    <div class="modal-body"> 
     <strong>NOTICE...<br> 
    </div> 
    <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <%= f.submit "Agree & Submit", class: 'btn btn-default' %> 
    </div> 
    </div> 
    </div> 
    </div> 
</div> 
<br /> 
<% end %> 
+0

什麼是錯誤?莫代爾沒有彈出或提交錯誤?另外,用什麼'':client ...'''? – SacWebDeveloper

+0

在模態頁腳內點擊「''''<%= f.submit」同意&提交「,類:'btn btn-default'%>'''''會提交表單不會提交 – SupremeA

回答

1

不需要JavaScript。你有一個form_for,和一個submit。一旦你點擊submit它應該工作。

如果它不工作,然後檢查form_for參數,如[:client, Reportapproval.new], :validate => true,如果它是正確的,並檢查是否有在控制檯中顯示的東西,錯誤或者一旦你點擊submit相似。它可能給你更多的信息錯誤所在

編輯:

嘿,你沒有提到你使用的是寶石https://github.com/DavyJonesLocker/client_side_validations。它不是標準的導軌寶石。檢查文檔如何使用它以及可能是什麼問題。如果你不想使用它,刪除寶石,並刪除validate => true它應該工作,然後

+0

我會嘗試這只是好奇,你知道任何其他的寶石,可以做驗證,無需重新加載整個頁面? – SupremeA

1

如果您使用JQuery(您可能與軌道),分配一個id到提交按鈕和一個id給你的表單。這樣做後,你可以寫一個事件處理程序,像這樣:

('#buttonIdyouassigned').click(function(){ 
    $.post('theroutethatthisformneedstogoto',('#formIdYouAssigned').serialize()) 
}) 

,如果你想要做的事一樣從返回的服務器端路線的JSON響應上面的代碼大多使用。 另一種選擇是:

('#buttonIdyouassigned').click(function(){ 
    ('theroutethatthisformneedstogoto').submit(); 
}) 

應提交表單。 更多信息:jquery submit

相關問題