Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2011, 15:58
Новичок на форуме
Отправить личное сообщение для Владимир2010 Посмотреть профиль Найти все сообщения от Владимир2010
 
Регистрация: 02.03.2011
Сообщений: 1

Вставка bb-кода: как сохранить выделение?
Здравствуйте! Доброго времени суток!

Есть такой скрипт, который вставляет в textarea смайлики и bb-код. Работает под все браузеры. Но при вставке bb-кода вокруг выделенного текста он сбрасывает выделение.

Как сделать, чтобы выделение сохранялось?

Заранее благодарю.

Скрипт:

<script language="javascript" type="text/javascript"> 

function addText(Text,Message) 
{ 
  var obj = document.form.message; 

  obj.focus(); 

  if (document.selection && document.selection.createRange)  // Internet Explorer 
  { 
    sel = document.selection.createRange(); 
    if (sel.parentElement() == obj)  sel.text = Text; 
  } 

  else if (typeof(obj) != "undefined")  // Firefox 
  { 
    var longueur = parseInt(obj.value.length); 
    var selStart = obj.selectionStart; 
    var selEnd = obj.selectionEnd; 
    obj.value = obj.value.substring(0,selStart) + Text + obj.value.substring(selEnd,longueur); 
  } 

  else obj.value += Text; 
  obj.focus(); 
} 

function addTags(Tag,fTag,Message) 
{ 
  var obj = document.form.message; 

  obj.focus(); 

  if (document.selection && document.selection.createRange)  // Internet Explorer 
  { 
    sel = document.selection.createRange(); 
    if (sel.parentElement() == obj)  sel.text = Tag + sel.text + fTag; 
  } 

  else if (typeof(obj) != "undefined")  // Firefox 
  { 
    var longueur = parseInt(obj.value.length); 
    var selStart = obj.selectionStart; 
    var selEnd = obj.selectionEnd; 
    obj.value = obj.value.substring(0,selStart) + Tag + obj.value.substring(selStart,selEnd) + fTag + obj.value.substring(selEnd,longueur); 
  } 

  else obj.value += Tag + fTag; 
  obj.focus(); 
} 

</script>


Форма:

<form method="post" name="textform" action="obrabotchik.php"> 

<a title="Bold:" onmousedown="addTags('[B]','[/B]')" style="background-color:#F7F7F7; font-size:10pt; border: outset white 1px;">&nbsp;<b>B</b>&nbsp;</a> 

<img src="smile.gif" title="[:)]" onmousedown="addText('[:)]')"> 

<textarea wrap="VIRTUAL" name="message" cols="50" rows="10"></textarea>

</form>



Последний раз редактировалось Владимир2010, 02.03.2011 в 16:05.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить данные в файл? Возможно такое на JavaScript? Forgott Общие вопросы Javascript 35 26.06.2015 19:11
Как сохранить текст в файл на клиенте Lucky13 Общие вопросы Javascript 7 14.08.2011 12:45
Как сохранить кеш в JavaScript Jumong Общие вопросы Javascript 4 20.07.2008 20:29
Вставка кода valex88 AJAX и COMET 18 25.04.2008 21:11
Как с помощью JS "на-лету" менять часть HTML кода greendoc Общие вопросы Javascript 2 18.03.2008 20:43