Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Javascript: Вставка текста в textarea в положение курсора

Ответить
Настройки темы
Javascript: Вставка текста в textarea в положение курсора

Аватара для PahaW

Старожил


Сообщения: 181
Благодарности: 0

Профиль | Отправить PM | Цитировать


http://www.khspu.ru/~Board/js/5.htm
Вставляет в Мозилле 1.0.7

Цитата:
undefined

http://www.khspu.ru/~Board/js/2.htm
Вот данный скрипт работает, но не вставляет в самом начале.

Смотрим исходный код.
Вопрос: Нужно чтобы заработал
http://www.khspu.ru/~Board/js/5.htm
что нужно изменить в коде?

-------
FAF | Khspu | Ru.Board
Trustix 3.0 lilo
ipq_traffic


..::} PahaW {::..
..::} Far East {::..
..::} Russian {::..


Отправлено: 04:47, 22-12-2005

 

Аватара для PahaW

Старожил


Сообщения: 181
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот тут пошаманил с кодом от phpbb вроде все работает.
создаем script.js файлик вот с таким содержимым
Код: Выделить весь код
var text_no_selected = "Выберите текст для вставки"; 

var clientPC = navigator.userAgent.toLowerCase(); 
var clientVer = parseInt(navigator.appVersion); 

var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;

var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);

function mozillaWr(textarea, open, close)
         {
       var selLength = textarea.textLength;
      var selStart = textarea.selectionStart;
     var selEnd = textarea.selectionEnd;
      if (selEnd == 1 || selEnd == 2)
         selEnd = selLength;

     var s1 = (textarea.value).substring(0,selStart);
     var s2 = (textarea.value).substring(selStart, selEnd)
      var s3 = (textarea.value).substring(selEnd, selLength);
     textarea.value = s1 + open + s2 + close + s3;

     textarea.selectionEnd = 0;
     textarea.selectionStart = selEnd + open.length + close.length;
     return;
         }

function insert_into_position_cursor(text) 
         {
        var textarea = document.post.message;
     if (textarea.createTextRange && textarea.caretPos) 
        {
           var caretPos = textarea.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
        }
     else {
           if (is_nav && document.getElementById) 
              {
              mozillaWr(textarea, '', text);
              }
           else { textarea.value  += text; }
          }
     textarea.focus();
         }

function copySelection()
         {
     if      (window.getSelection)   { selection = window.getSelection().toString();      }
     else if (document.getSelection) { selection = document.getSelection();               }
     else if (document.selection)      { selection = document.selection.createRange().text; }
         }

function pasteSelection()
        {
    if (selection)
           { 
       insert_into_position_cursor('[_quote]' + selection + '[_/quote]\n'); 
       selection = '';
       document.post.message.focus(); 
       return; 
          }
    else { alert(text_no_selected); return; } 
        }
// функцию можно также использовать потом как облачение теги code, можно в b ....
//На самом деле как вы уже поняли этим не ограничивается создаем сколько нам нужно функций и юзаем их
function codeSelection(text) 
         {
      text = '[_code] ' + text + ' [_/code]';
     insert_into_position_cursor(text);
         }

function storeCaret(textEl) 
         {
     if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
         }
и форма
Код: Выделить весь код
<script language="JavaScript" type="text/javascript" src="script.js"></script>
<form method="post" name="post">
<table border="1" width="98%">
        <tr><td colspan="2" align="center"><b>!!!!Выдели меня!!!!</b></td></tr>
    <tr>
     <td width="135">
          <table width="100%" border="0">
            <tr> 
                <td valign="middle" align="center"> <br />
                <table width="100" border="0" cellspacing="0" cellpadding="5">
                    <tr align="center" valign="middle"> 
                <td>Для вставки цитаты, выделите её и <a onmouseover="copySelection()" href="javascript:pasteSelection()">нажмите эту ссылку</a><br>Для вставки кода, выделите её и <a onmouseover="copySelection()" href="javascript:codeSelection()">нажмите эту ссылку</a> </td>
                </tr>
                </table>
                </td>
            </tr>
            </table>
        </td>
        <td><textarea name="message" rows="15" cols="100" wrap="virtual" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);"></textarea><br /></td>
    </tr>
</table>
</form>

-------
FAF | Khspu | Ru.Board
Trustix 3.0 lilo
ipq_traffic


..::} PahaW {::..
..::} Far East {::..
..::} Russian {::..


Последний раз редактировалось PahaW, 23-12-2005 в 11:19.


Отправлено: 10:57, 23-12-2005 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Javascript: Вставка текста в textarea в положение курсора

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Javascript: Положение курсора мыши в Firefox Coutty Вебмастеру 4 22-10-2008 08:42
Вставка многострочного текста из буфера обмена в однострочное окно. Do Not Disturb Microsoft Windows 95/98/Me (архив) 2 16-02-2007 19:42
[решено] Не работает копирование - вставка текста (всегда вставляется текст "Hello!") Madmech Microsoft Windows 2000/XP 5 29-11-2005 16:26
JavaScript: вывод текста из текстового поля Jekamajor Вебмастеру 5 10-08-2005 12:43
Вставка текста из формы Casufi Вебмастеру 2 14-05-2003 11:40




 
Переход