Форматировать текст в <textarea>?

Текстуры великолепны из-за некоторых встроенных функций (полос прокрутки). Как я могу отформатировать <spans> текста внутри <textarea>?

Ответ 1

Если вам нужно настроить текстовое поле, воспроизведите его поведение с помощью другого элемента (например, DIV) с атрибутом contenteditable.

Это более настраиваемый и более современный подход, textarea предназначен только для текстового контента, а не для богатого контента.

<div id='fake_textarea' contenteditable></div>

Полосы прокрутки могут быть воспроизведены с помощью свойства переполнения CSS.

Вы можете использовать эту фальшивую текстовую область в форме, обычно, то есть: если вам нужно отправить свой контент с помощью метода POST, вы можете сделать что-то вроде (с jQuery):

<input type='hidden' id='fake_textarea_content' name='foobar' />

...

$('#your_form').submit(function()
{
  $('#fake_textarea_content').val($('#fake_textarea').html());
});

Ответ 2

Вы не можете отдельно стилизовать содержимое текстовой области, вам нужно использовать s или что-то подобное.

Вы хотите Что-то вроде этого:?

http://jsfiddle.net/mekwall/XNkDx/

$('.editable').each(function(){
    this.contentEditable = true;
});

Это позволяет редактировать содержимое div, и оно все равно будет выглядеть как текстовое поле,

Теперь будет работать Bold.

Ответ 3

Вы не можете использовать HTML внутри TEXTAREA.

Прокрутка может быть применена к любому элементу путем добавления overflow: auto и фиксированного width и/или height.

Ответ 4

Вы можете использовать html-редакторы для Интернета, такие как CKEditor, чтобы иметь возможность форматировать данные в текстовой области. Проверьте http://ckeditor.com/

Ответ 5

Другой способ отправки "поддельной" текстовой области - это следующие строки внутри тега формы

<form onsubmit=" $('#fake_textarea_content').val($('#fake_textarea').html());">
</form>