Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как вместо тегов применять стиль в текстовом поле? (https://javascript.ru/forum/dom-window/86038-kak-vmesto-tegov-primenyat-stil-v-tekstovom-pole.html)

LADYX 06.08.2024 23:55

Как вместо тегов применять стиль в текстовом поле?
 
Здравствуйте уважаемые специалисты. Помогите, пожалуйста, реализовать дополнительный функционал к тому что уже есть.
У меня есть простое текстовое поле textarea:

<form>
<div>
<button type="button" onclick="insertTag('description','<b>','</b>')">B</button>
<button type="button" onclick="insertTag('description','<i>','</i>')">I</button>
<button type="button" onclick="insertTag('description','<u>','</u>')">U</button>
</div>
<textarea id='description' name='description'></textarea>
</form>


И есть такой скрипт, который при выделении текста оборачивает его в теги.

function insertTag(formName,startTag,endTag){
   var el=document.getElementById(formName);
   el.focus();
   if (el.selectionStart==null){
      var rng=document.selection.createRange();
      rng.text=startTag+rng.text+endTag
   }else{
      el.value=el.value.substring(0,el.selectionStart)
      +startTag+el.value.substring(el.selectionStart,el.selectionEnd)
      +endTag+el.value.substring(el.selectionEnd);
   }
}


Но как сделать так, чтобы при клике, например на курсив, выделенный текст не оборачивался в теги, а выделялся курсивом?
При этом необходимо, чтобы значение из текстового поля записывалось в файл вместе с тегами.
Помогите, пожалуйста, понятия не имею как это реализовать.

ksa 07.08.2024 10:30

Цитата:

Сообщение от LADYX
Но как сделать так, чтобы при клике, например на курсив, выделенный текст не оборачивался в теги, а выделялся курсивом?

textarea не обладает такими возможностями...

Как вариант - ищи подключаемые редакторы, которые могут визуализировать редактирование.
https://ru.docs.webix.com/desktop__text_editors.html

LADYX 13.08.2024 03:25

ksa, спасибо за информацию. Почитал, ознакомился.

Все эти редакторы слишком объемны для моих скромных потребностей, там много всего лишнего, того чего мне совсем не нужно. А для моих нужд необходимо только три стиля - жирность, курсив и подчеркивание. Уважаемые специалисты, буду очень признателен, если поможете с самым коротким, простым и легким решением, если конечно это вполне реально реализуемо.

Aetae 13.08.2024 04:30

LADYX, простых решений нет. Тем сложная и проблемная. Самописку делать - нужен отдел разработки, месяц на написание и год на устранение багов. Если вы конечно хотите чтоб оно гарантированно работало, а не глючило через раз - иначе можно и за вечер написать.:)
Потому только готовые библиотеки с историей активной жизни больше чем пару лет. Гуглить "simple wysiwyg" и отсеивать.


Часовой пояс GMT +3, время: 21:31.