2015-10-15 56 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,因此使用同一模型同步兩個元素非常容易。