У меня есть код, который позволяет форматировать текст в текстовом поле с жирным шрифтом, подчеркиванием, вычеркиванием или курсивом. Но он отображает html-теги вместо фактического форматирования. Я знаю, как только я вывожу его внутри div, он будет отформатирован, но я хочу показать форматирование, пока пользователь пишет текст.
Как включить форматирование? JavaScript в порядке, я использую JQuery на данный момент. Я бы предпочел не использовать редактор WYSIWYG, если есть другой вариант.
Спасибо за любую помощь.
Использовать атрибут contentEditable для элемента div
<div contentEditable="true"> </div
Таким образом, вы можете форматировать свой вход любым желаемым способом, просто не забывайте, что нужно правильно выполнить данные.
Просто мысль; если вы просто хотите, чтобы пользователи увидели, как будет выглядеть их ответ, вы можете взять реплику с этого сайта и иметь своего рода «предварительный просмотр» div прямо над / под полем комментария. Вы можете использовать onKeyUp, чтобы поместить код в div, чтобы он сохранял дату, когда пользователь вводит. Это не идеально, но это, вероятно, так хорошо, как вы собираетесь получить, если вы не хотите использовать WYSIWYG.
При этом вариант contentEditable + WYSIWYG, вероятно, более удобен для пользователя и проще, IMHO.
Я считаю, что это возможно только с помощью некоторого div или другого элемента html, который вы хотите использовать, вместо вашего текстового поля. С помощью Javascript вы добавите функциональность текстового поля.
Как насчет того, чтобы вы использовали некоторую систему форматирования, как это здесь, на SO? Это гораздо более элегантно, на мой взгляд, чем псевдо WYSIWYG.
Замените textarea на div и включите режим разработки. Или вы можете использовать плагин jquery http://plugins.jquery.com/project/designMode
Невозможно сделать внутри Textarea, вам нужно будет сделать редактор wysiwyg или что-то в этом роде. Его довольно легко сделать одним из них. Это довольно хороший учебник:
Учебник Devgurus wysiwyg