我正在使用Rails 3.1构建一个Web表单,除其他字段外,还包含一个可以编辑单元格的表。我需要将已编辑单元格的文本保存在数据库中。
我正在考虑使用HTML5属性' contenteditable'。我可以使用单元格的innerHTML值。如何将此值传递给Rails控制器(从视图中)?是否可以使用params传递数据?有什么建议吗?
答案 0 :(得分: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()
}));
});