3

我正在使用 Rails 3.1 构建一个 Web 表单,该表单在其他字段中包含一个可以编辑其单元格的表格。我需要将已编辑单元格的文本保存在数据库中。

我正在考虑使用 HTML5 属性“contenteditable”。我可以使用单元格的 innerHTML 的值。如何将此值传递给 Rails 控制器(从视图中)?是否可以使用参数来传递数据?有什么建议么?

4

1 回答 1

1

标记为的 HTML 容器contenteditable不会通过表单提交自动传递到服务器,因此您可能必须使用 javascript 从这些容器中提取内容并以某种方式传递它们。

一种策略是向表单添加一个处理程序,该处理程序在提交之前触发,它遍历 contenteditable 容器并注入隐藏的表单元素。下面的示例使用 jQuery,但您可能可以不使用 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()
  }));
});
于 2012-07-19T16:30:30.427 回答