текст в 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, время: 11:41. |