2012-07-19 152 views
3

我正在使用Rails 3.1構建一個Web表單,其中包含可以編輯單元格的表格。我需要將編輯單元格的文本保存到數據庫中。將編輯的值contenteditable字段從視圖傳遞到控制器在Rails中

我想使用HTML5屬性'contenteditable'。我可以使用單元格的innerHTML值。我怎樣才能將這個值傳遞給Rails控制器(從視圖)?是否可以使用參數傳遞數據?有什麼建議麼?

回答

1

標記爲contenteditable的HTML容器不會自動通過表單提交傳遞給服務器,因此您可能必須使用JavaScript將內容從這些容器中取出並以某種方式傳遞。

一種策略是將一個處理程序添加到提交之前觸發的表單,該表單在可內容容器上進行迭代並注入隱藏的表單元素。下面的例子使用jQuery,但是你可能不需要複製思想過程。

var form = $('#my_form'); 
var element; 
$('[contenteditable=true]').each(function(){ 
    element = $(this); 
    form.append($('<input/>', { 
    type:'hidden', 
    name:element.attr('id'), 
    value:element.html() 
    })); 
}); 
+0

嗨,感謝您的回覆。不幸的是,將輸入附加到表單不適用於我。是否有另一種方法來傳遞參數? – 2012-07-20 21:35:10

+0

您可以嘗試發送表單數據作爲ajax請求。遵循類似的邏輯 - 遍歷contenteditable塊來構建數據集,將其與表單中的數據合併,並通過xmlhttprequest發送出去。 – 2012-07-23 13:28:59

相關問題