Сохранять HTML-теги после редактирования элемента
Sup. Не знаю что делать - уже всё перепробовал.
У меня есть пост. <td class="post" id="p228"> <div class="message"> text </div> </td> По клику на "Edit post" мне нужно, чтобы к нему добавлялся атрибут contentEditable. После чего пост редактируется модером, а, по событию blur, contentEditable убирается из поста и спрашивается сохранять ли. Вот в чём проблема: после того, как отредактировал пост и убрал conentEditable все HTML-теги экранизируются. Т.е. <a> заменяются на <a>, и ссылки не добавляются в пост, а остаются просто текстом. Как это исправить? Весь пост декодировать - не вариант, ибо для обычных юзеров запрещены HTML-теги и они экранизируются таким-же образом ещё при постинге. Как можно записывать сразу HTML? |
Эот явно не проблемы "Элементов интерфейса"... Т.ч. раздел явно не тот...
|
Цитата:
|
Это получаются ентитьки (html entity), проверьте разницу между innerHTML и textContent элемента. Я не проверял. В любом случае ентитьки можно сконвертировать в html, надо только функцию найти.
|
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Сейчас еще такой тренд по экономии батарейки. Типа у кого правильные медийные риквесты, у того батарейка дольше живет. Одуреть.
|
2chan, contentEditable ничего не экранирует(из того что создано браузером), если вам нужно писать и изменять сам код(подобие Edit inner HTML в инструментах разработчика), то contentEditable вам тут совсем не помощник. Подставляйте textarea с содержимым и убирайте при сохранении.
|
Цитата:
|
Цитата:
2. Такие редакторы гнездятся в iframe, как раз во избежание ингресса стилей. 3. Теоретически существует <style scoped> |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Пример только для демонстрации <p id="test"> <b>Тестим</b> <i>редактирование</i> </p> <input type="button" value="Включить редактирование" onclick="editTest();" /> <input type="button" value="Выключить редактирование" onclick="closeEdit();" /> <input type="button" value="Показать Html" onclick="showHtml();" /> <script> function editTest() { test.contentEditable = true; } function closeEdit() { test.contentEditable = false; } function showHtml() { alert(test.innerHTML); } </script> |
Poznakomlus, да ёпт, яж выше написал что ему нужно.
2chan, либо чистая textarea, либо готовый редактор кода. В firefox например встроен codemirror. Сам стилизировать будешь - проклянёшь всё и вся. |
Часовой пояс GMT +3, время: 19:48. |