текст в textarea
Здравствуйте , помогите разобраться со вставкой текста .
В общем есть поле textarea и как на любом другом форуме ,есть кнопки для вставки тегов , по нажатию кнопки в поле появляются теги к примеру <b></b> , но если установить курсор между этими тегами и нажать на кнопку , то добавляться новые теги будут в конец строки . Вопрос как сделать , чтоб теги добавлялись в место указаное курсором . Я в javascript неселён , прошу объяснить попонятнее , а если можно , то статью почитать . Заранее спасибо . |
кстати интересный вопрос.. если кто знает простое решение поделитесь)
|
Есть уже написанные скрипты, поищите.
В разных браузерах работает по разному, так что задачка не тривиальна. Или откройте любой (ну или почти любой) форум, посмотрите, работает ли вставка так, как вам надо и посмотрите какими скриптами это реализовано. В общих словах - берете координаты выделенного текста (это как-раз в разных браузерах по разному), меняете строку с учетом координат (куда вы хотите вставить теги). |
|
В общем , за эти выходные , я просмотрел кучу матерьала и пришёл к выводу , что для моей задачи проще оставить textarea в голом виде , без вставки тегов , но сказать пользователю , что некоторые доступны , а при обработке разрешить некоторые теги и смотреть , как их применяли , к сожалению для меня это проще , чем написать редактор , ну а если невтерпёж будет , то как сказал Snipe , воспользоваться готовым online редактором . Всем спасибо за помощ .
|
аналогичная тема
http://javascript.ru/forum/misc/1873...-textarea.html |
По-моему то, что нужно:
<html> <script> function clc(){ var el=document.getElementById("area"); el.focus(); if (el.selectionStart==null){ var rng=document.selection.createRange(); rng.text="<b>"+rng.text+"</b>" } else{ el.value=el.value.substring(0,el.selectionStart)+ "<b>"+ el.value.substring(el.selectionStart,el.selectionEnd)+ "</b>"+ el.value.substring(el.selectionEnd); } } </script> <body> <textarea id="area" rows="20" cols="100"> text text text </textarea> <br /> <button onclick="clc()">Click</button> </body> </html> |
А как вставлять не в textarea, а в
<div contentEditable="true"></div>? value там нет( |
|
Я сейчас так и пытаюсь, но как вставить именно туда, где курсор?
|
Часовой пояс GMT +3, время: 02:09. |