我想保存在rails中的窗體中有很多字段的數據。實際上,我擔心當我向表單填充數據時,這些數據可能會意外丟失,所以我想在文本字段失去焦點後逐一保存這些數據。我想知道天氣有沒有任何寶石或方法來做到這一點。保存數據立即失去焦點後在rails中的文本域
請給我一些建議。
提前致謝。
我想保存在rails中的窗體中有很多字段的數據。實際上,我擔心當我向表單填充數據時,這些數據可能會意外丟失,所以我想在文本字段失去焦點後逐一保存這些數據。我想知道天氣有沒有任何寶石或方法來做到這一點。保存數據立即失去焦點後在rails中的文本域
請給我一些建議。
提前致謝。
要發送新數據到服務器,您不需要任何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。如果你找不到,我可能會幫助你。
我不知道怎麼回事,幫助引導我請! – hengsokly
你進步多遠?你能否至少提出要求?如果不是,請先做。當服務器拒絕您的請求時(由於缺少csrf),我可以爲您提供。 – HungryCoder
使用jQuery模糊函數和@Rab Nawaz說的,AJAX提交數據。
Here是模糊的工作示例,一個explanation和documentation
因此,像:
$("input").blur(function(){
$("form.form_class").submit();
});
只要確保表格設置正確的AJAX。
或者如果你正在尋找一個寶石,你可以試試這個one。從未使用過它,但看起來很酷。希望能幫助到你。
Ajax就是答案。但想想表現。如果在每個屬性失去焦點後發送請求,它將向數據庫和服務器發送多個請求。
讓我們試試Sisyphus jquery。它自動將數據保存在本地。
http://coding.smashingmagazine.com/2011/12/05/sisyphus-js-client-side-drafts-and-more/
使用AJAX來保存數據 – Rab