2015-10-15 29 views
0

我已经将自己的指令作为具有contenteditable属性的输入元素。 我的问题是,元素不被jQuery识别为一个元素。 如果我做将角度指令识别为html表单元素

$( '形式')。序列化()

的document.getElementById( “形式”)。元素

我元素不会出现在这两个函数中。 有人知道为什么吗?以及如何解决它?

+0

显示该指令的相关代码 –

+0

我想这不能像这样序列化,这与angularjs有什么关系? – Jai

+0

使用Angular通常不会序列化DOM元素,而是适用于模型。如果你有'ng-model =“form.p1”'的一堆输入控件,那么你需要的只是对象'$ scope.form'。 –

回答

1

jQuery的serialize方法不包含contenteditable元素。所以你不能像这样读你的元素。

许多所见即所得的html编辑器使用隐藏textarea的技巧。他们将contenteditable内部html的内容与textarea的内容同步。 serialize jQuery方法将会看到textarea并使用它。

由于您使用的是Angular,因此使用同一模型同步两个元素非常容易。