2011-09-19 51 views
2

我正在使用Rails 3.1,我需要一個複選框來切換並保存到數據庫,而無需刷新或重定向頁面。AJAX rails複選框使用javascript .submit()

讓我先說我是相當新手,如果我從錯誤的角度來解決這個問題,請告訴我。

這裏是我的形式:

<% form_for book, :remote => true do |f| %> 
    <%= f.check_box :finished %> 
<% end %> 

這裏是我的jQuery的javascript:

$('input#book_finished').live("click", function() { 
    $(this).parent('form').submit(); 
}); 

的:遠程=>則不會,當我通過jQuery提交工作,但如果我不扔在一個提交按鈕(我不能)。我怎樣才能提交通過JS點擊複選框?

+0

您的JS應該提交表單就好了。當然,在這種情況下,你必須自己處理響應。究竟發生了什麼? – polarblau

+0

它提交,然後重定向到顯示頁面(我正在使用標準的安靜腳手架)。我試圖改變控制器,所以沒有重定向,我得到一個缺少模板錯誤。 –

回答

3

到目前爲止,您的代碼只能通過單擊複選框來處理提交。爲了通過AJAX提交表單,您仍然必須抓住提交事件,防止默認行爲併發送表單數據:

$('#form-id').submit(function(){ 
    $.ajax({ 
    type: this.method, 
    url: this.action, 
    data: $(this).serialize(), 
    success: function(){ 
     ... // do something in case everything went find 
    } 
    }); 
    return false; 
});