2012-09-25 34 views
1

我想保存在rails中的窗體中有很多字段的數據。實際上,我擔心當我向表單填充數據時,這些數據可能會意外丟失,所以我想在文本字段失去焦點後逐一保存這些數據。我想知道天氣有沒有任何寶石或方法來做到這一點。保存數據立即失去焦點後在rails中的文本域

請給我一些建議。

提前致謝。

+0

使用AJAX來保存數據 – Rab

回答

0

要發送新數據到服務器,您不需要任何Gem。你可以簡單地使用jQuery(當然你可以使用gem for jQuery)。只需將更新代碼掛接到您的字段的模糊事件。

$(document).on('blur', 'input[type=text]', function(e){ 
    post_data = {}; //prepare your data here 
    $.post(UPDATE_URL, post_data, function(response_data){ 
    console.log(data) 
    }) 
}) 

現在,當你編輯的文本字段(您可以在查詢中添加其他字段,如果你想),將更新後的數據發送到服務器。您應該放入UPDATE_URL以便您可以使用它。但是,您還需要csrf_token_name和用於發送發佈請求的值。將這些添加到post_data。如果你找不到,我可能會幫助你。

+0

我不知道怎麼回事,幫助引導我請! – hengsokly

+0

你進步多遠?你能否至少提出要求?如果不是,請先做。當服務器拒絕您的請求時(由於缺少csrf),我可以爲您提供。 – HungryCoder

3

使用jQuery模糊函數和@Rab Nawaz說的,AJAX提交數據。

Here是模糊的工作示例,一個explanationdocumentation

因此,像:

$("input").blur(function(){ 
    $("form.form_class").submit(); 
}); 

只要確保表格設置正確的AJAX。

或者如果你正在尋找一個寶石,你可以試試這個one。從未使用過它,但看起來很酷。希望能幫助到你。

1

Ajax就是答案。但想想表現。如果在每個屬性失去焦點後發送請求,它將向數據庫和服務器發送多個請求。