Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   не работает изменение выделенного текста в textarea (https://javascript.ru/forum/css-html-firefox-mizilla/4740-ne-rabotaet-izmenenie-vydelennogo-teksta-v-textarea.html)

alex-v 17.08.2009 20:46

не работает изменение выделенного текста в textarea
 
Добрый вечер, уважаемые форумчане!

Подскажите пожалуйста в чём проблема?
Под IE и Opera это код работает, а под Firefox не хочет. Этот код вот что делает: выделенный текст в textarea обрамляет заданными тегами.

function add_tags(str1, str2)
{
   document.all.memo1.focus(); 
   
   if(document.selection) 
   {
      var s = document.selection.createRange();            
      s.text = str1 + s.text + str2;            
   }
}

Octane 17.08.2009 21:11

Range, TextRange и Selection

alex-v 19.08.2009 21:38

Нашел решение:

function add_tags(str1, str2)
{
   var obj=document.getElementById("memo1");
   obj.focus(); 
   
   if(document.selection) 
   {
      var s = document.selection.createRange();            
      s.text = str1 + s.text + str2;            	  
   }else
   {
      var len = obj.value.length; 
      var start = obj.selectionStart; 
      var end = obj.selectionEnd; 

      var scrollTop = obj.scrollTop; 
      var scrollLeft = obj.scrollLeft; 

      var sel = obj.value.substring(start, end); 
      var rep = str1 + sel + str2; 
      obj.value =  obj.value.substring(0,start) + rep + obj.value.substring(end,len); 

      obj.scrollTop = scrollTop; 
      obj.scrollLeft = scrollLeft;    
   }
}


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