Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: jquery вставка значения в то место, где мигает курсор
 
 автор: ols   (03.12.2013 в 14:45)   письмо автору
 
 

Есть поле текстареа с Id = msg, и есть накая переменная smile. Интересует как вставить значение переменной в поле msg в то место где мигает курсор? .val() не подходит

  Ответить  
 
 автор: Sfinks   (03.12.2013 в 19:35)   письмо автору
 
   для: ols   (03.12.2013 в 14:45)
 

Ну хотя бы даже на этом форуме, жмем "ответить" и в форме ответа смотрим код страницы.
Например то что вам нужно выполняется при вставке BB-кодов в ответ.

Смотрим код ссылки, предназначенной для вставки тега code:
<a href="#" onclick="javascript:tag('[co'+'de]', '[/co'+'de]'); return false;"></a>

Поднимаемся в шапку и смотрим код функции tag():
function tag(text1, text2) 

   if ((document.selection)) 
   { 
     document.form.message.focus(); 
     document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2; 
   } else if(document.forms['form'].elements['message'].selectionStart != undefined) { 
       var element    = document.forms['form'].elements['message']; 
       // сохранить позицию скролла 
       var scroll = element.scrollTop;
       var str     = element.value; 
       var start    = element.selectionStart; 
       var length    = element.selectionEnd - element.selectionStart; 
       element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length); 
       // вернуть как было 
       element.scrollTop = scroll;

   } else document.form.message.value += text1+text2; 
}

Вас интересует фрагмент, выделенный жирным.

  Ответить  
 
 автор: Deed   (03.12.2013 в 19:46)   письмо автору
 
   для: Sfinks   (03.12.2013 в 19:35)
 

Хоть вопрос и не мой, но спасибо большое!
Есть еще решение:
1. Плагин: http://code.google.com/p/jquery-at-caret/wiki/GettingStarted;
2. Пример: http://jsbin.com/IqoNOQo/2/edit?html,js,output

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования