При помощи JavaScript можно вставлять текст в середину компонента textarea, вместо выделенного текста и даже между ним в виде HTML тэгов.

Сразу необходимо заметить, что код приведенный в данной статье, работает только под IE и его аналогами. Об извращенных способах работы с выделениями фрагментов в других браузерах будет сказано в другой статье.

Вставка текста в середину текста textarea

Код:

HTML
Текст

  1. < script language=JavaScript>
  2. function Insert(Text) {
  3. element = document.getElementById("texts");
  4. element.focus();
  5. if (document.selection) {
  6. SelectedText = element.document.selection.createRange();
  7. SelectedText.text = Text;
  8. }
  9. }
  10. < /script>

  11. < textarea name=texts rows=5 cols=20>
  12. Обычный текст
  13. < /textarea>
  14. Текст: < input type=text name=paste>
  15. < input type=button value='Вставить' onclick='Insert(paste.value)'>

Рассмотрен подробней приведенный код.

У нас есть один компонент textarea (имя texts), в котором хранится текст, компонент text (имя paste), текст из которого и будет вставлен в textarea, и кнопка, при нажатии на которую вызывается функция Insert(), в качестве параметра передается значение компонента text.

Функция Insert():

HTML
Текст

  1. element = document.getElementById('texts')

Присваиваем переменной element все свойства textarea.

HTML
Текст

  1. element.focus()

Устанавливаем фокус на textarea.

HTML
Текст

  1. if(document.selection) ...

Проверяем, работает ли выделение (в случае, если браузер не IE, вернет false).

HTML
Текст

  1. SelectedText = element.document.selection.createRange()

Определяем область выделенного текста. В случае, если текст не выделен, возвращает позицию каретки, где установлен курсор.

HTML
Текст

  1. SelectedText.text = Text

Присваиваем выделенной области значение Text (значение paste.value).

Вставка HTML тэга выделенного текста textarea

Для того, что бы вставить тэг в середину текста в скрипте необходимо всего навсего заменить строку

HTML
Текст

  1. SelectedText.text = Text

на

HTML
Текст

  1. SelectedText.text = "< a href='"+Text+"'>"+SelectedText.text+"< /a>"

В данном случае мы вставляем текст в виде ссылки.

Удаление фрагмента выделенного текста textarea

Еще проще. Вместо SelectedText.text = Text

вставляем SelectedText.text = ''



Постоянные ссылки

При копировании ссылка на TeaM RSN обязательна!

URI

Html (ЖЖ)

BB-код (Для форумов)

Оставить комментарий

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