2015-10-15 2 views
0

Я создал свою собственную директиву, которая действует как элемент ввода с атрибутом contenteditable. Моя проблема в том, что элемент не распознается jQuery как элемент. Если я сделатьУгловые директивы, распознаваемые как элементы формы html

$ ('форма'). Сериализации()

или

document.getElementById ("форма"). Элементы

Мои элемент не будет отображаться в обеих функциях. Кто-нибудь знает, почему? и как это исправить?

+0

Показать соответствующий код этой директивы –

+0

Я предполагаю, что это невозможно сериализовать как это и что это связано с угловыми ?? – Jai

+0

С угловым, как правило, не сериализует элементы DOM, а скорее работает с моделью. Если у вас есть набор элементов управления с помощью 'ng-model =" form.p1 "', тогда вам нужен только объект '$ scope.form'. –

ответ

1

Метод jQuery не включает contenteditable элементов. Таким образом, вы не можете читать свой элемент следующим образом.

Многие редакторы html WYSIWYG используют трюк со скрытым textarea. Они синхронизируют содержимое внутреннего html contenteditable с содержимым textarea. Метод jQuery serialize будет видеть textarea и использовать его.

Поскольку вы используете Angular, довольно легко синхронизировать два элемента с одной и той же моделью.

Смежные вопросы