Автор Тема: форматирование textarea  (Прочитано 4962 раз)

0 Пользователей и 1 Гость просматривают эту тему.

A_Lex1979

  • Гость
форматирование textarea
« : 10 Декабря 2002, 12:02:39 »
Подскажите пожалуйста, как лучше сделать, чтобы в поле textarea в браузере отображался форматированный текст (с заданным шрифтом, выделением болдом и т.д.).
На mail.ru подобный интерфейс используеться для создания расширенных сообщений в html-формате

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
форматирование textarea
« Ответ #1 : 10 Декабря 2002, 12:39:38 »
A_Lex1979
Это не textarea
это:


AS IS...

A_Lex1979

  • Гость
форматирование textarea
« Ответ #2 : 10 Декабря 2002, 14:25:37 »
т.е. textarea только для внешнего вида используеться, а редактирование происходит в слое?

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
форматирование textarea
« Ответ #3 : 11 Декабря 2002, 10:00:19 »
ThE0ReTiC
Цитировать


Насколько я понял, это фича IE5.5, и Нетскейп ее игнорирует.
Какие существуют способы редактирования содержания textarea, поддерживаемые всеми браузерами? WYSIWYG в textarea, насколько я понимаю - это нереально. Или?
Каким образом можно, используя стандартный JS, обрамить выделенный в textarea текст тегами? Не добавить к textarea.value (как это делается в форме ответа этого форума), а именно обрамить выделенный участок текста? Или вставить, но в место расположения курсора?
И что за функция document.execCommand()? Тоже IE?
« Последнее редактирование: 11 Декабря 2002, 10:16:57 от dub »

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
форматирование textarea
« Ответ #4 : 11 Декабря 2002, 10:15:05 »
как вариант (работающий под ie5) - iframe, которому потом делают:
iframe_name.document.designMode = "On";
Еще есть спец. activeX
URL http://msdn.microsoft.com/archive/en-us/dnaredcom/html/dhedsdk.exe (там в архиве дока по установке и написанию скриптов)

Где почитать:
msdn.microsoft.com (основной источник информации)
exper.ural.ru (здесь про designMode = "On")
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
форматирование textarea
« Ответ #5 : 11 Декабря 2002, 10:17:30 »
кстати вариант с IFRAME & designMode = "On" работает и под IE 4
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
форматирование textarea
« Ответ #6 : 11 Декабря 2002, 10:24:49 »
Макс
Во-во, execCommand(), кажется, именно в designMode = "On" используется. Спасибо, почитаю. Я видел с помощью этой примочки совсем неплохо сделанный хтмл-редактор.
А как же с более стандартным подходом?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
форматирование textarea
« Ответ #7 : 11 Декабря 2002, 17:08:51 »
Цитировать
А как же с более стандартным подходом?
а что значит более стандартный? У всех броузеров свои методы построения online-редакторов (либо их [методов] нет вообще).
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
форматирование textarea
« Ответ #8 : 11 Декабря 2002, 23:53:13 »
Макс
Я имел ввиду более стандартный (с точки зрения стандартных html и js) способ управлять содержимым textarea или того же div.
Цитировать
Каким образом можно, используя стандартный JS, обрамить выделенный в textarea текст тегами? Не добавить к textarea.value (как это делается в форме ответа этого форума), а именно обрамить выделенный участок текста? Или вставить, но в место расположения курсора?

Глянул я свойства (defaultValue, name, value) и методы (focus, blur, select) этого самого объекта textarea и понял, что, видимо многого хочу от жизни. Кроме
theform.message.value += "["+vbcode+"]";, как здесь, наверное, ничего больше не придумаешь..
А iframe c designMode="On" действительно рульная штука.. Сам метод execCommand при работе только с document и TextRange работает, начиная с IE 4.0, а с использованием controlRange - начиная с IE 5.0.
А команды от IE 4.0 (большинство) до IE 6.0.
Странно, что многие команды, которые на самом деле полноценно работают (во всяком случае в IE6.0), обозначены как "пока не поддерживаемые". В частности: strikethrough, subscript, superscript, undo и redo. Не подскажешь, где найти инфу о том, какие версии IE эти команды поддерживают?
В общем, для юзверей с IE вне всякого сомнения эту фичу использовать нужно.

Возникает вопрос: каков метод построения онлайн редакторов в NN? Хотя, возможно, достаточно иметь две версии: designMode="On" и textarea c добавлением тегов для всех остальных. Но все-таки интересно.

Кстати, спасибо огромное.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
форматирование textarea
« Ответ #9 : 12 Декабря 2002, 12:43:08 »
насколько я знаю, для NN есть какой-то специальный модуль для создания online-редактирования, но я с ним не работал. Где-то на sourceforge.net (по-моему) даже был проэкт, редактор под IE, NN , но ссылку и его название затерялись.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28