通过编辑的值CONTENTEDITABLE字段从以控制器在滑轨(Passing edited val

2019-06-26 10:32发布

我使用Rails 3.1来构建一个web形式,其他领域中,包含了表,它的电池可进行编辑。 我需要给编辑的单元格的文本保存在数据库中。

我想到的是使用HTML5属性“CONTENTEDITABLE”的。 我可以使用电池的innerHTML的价值。 我怎样才能通过这个值到Rails(从视图)控制器? 是否有可能使用PARAMS传递数据? 有什么建议?

Answer 1:

HTML标记作为容器contenteditable不会自动沿着与表单提交的服务器传递,所以你可能不得不使用JavaScript的内容拔出这些容器,并通过他们以某种方式。

一种策略是将处理程序添加到形式闪光之前提交,它迭代CONTENTEDITABLE容器并注入隐藏的表单元素。 下面的示例使用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()
  }));
});


文章来源: Passing edited value contenteditable field from view to controller in Rails