Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка текста после курсора в поле 
:(
    Опции темы
ScreaM [13r]
  Дата 15.2.2004, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.12.2003

Репутация: нет
Всего: нет



Как сделать, чтобы при нажатии на кнопку вставлялся тег после курсора, а не в начале tewxtarea confused.gif
Такая фишка используется на форуме yabb и IPB (этом форуме).
PM MAIL   Вверх
Sardar
Дата 15.2.2004, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Обьект selection - работает только под ИЕ.

Под другими браузерами можно извратится и попробовать держать позицию курсора в переменной, по клику мыши считать смещение, но для этого нужно знать ширину шрифта + шрифт должен быть monospace. Ни разу не встречал реально работающего кода.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
[xoodo]
Дата 16.2.2004, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 9.3.2003

Репутация: нет
Всего: 4



document.forms[0].my_text.value += "<my_tag>some_crap</my_tag>";
Может, оно?

Это сообщение отредактировал(а) [xoodo] - 16.2.2004, 20:47
PM   Вверх
Sardar
Дата 16.2.2004, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
document.forms[0].my_text.value += "<my_tag>some_crap</my_tag>";
Может, оно?

Текст вставится не по курсору, а в конец текстового поля.
Под ИЕ selection это отселектированный участок страницы. Если фокус на текстовом поле, то селекция находится в месте моргающего курсора. У производного от селекции обьекта TextRange есть поле text, которое можно изменять, следовательно можно вставить текст под курсором. Вот такой прикол можно сделать:
Код

var sym="qwertyuiop[]asdfghjkl;'zxcvbnm,./";
function do_it(obj) {
if(document.selection&&document.selection.createRange) {
 var pointer=document.selection.createRange();
 if(pointer.parentElement()==obj) {
  pointer.text=sym.charAt(event.keyCode%sym.length);
  event.keyCode=0;
 }
}
}
...
<form>
<input type="text" id="test" onKeypress="do_it(this)">
<form>
//так можно сделать транслит русских букв на лету

Странная реализация, не ясно почему не сделали нормального интерфейса для текстовых полей.
Под Mozilla(Netscape),Opera и.т.д это не будет работать.
На http://msdn.microsoft.com/library/default.asp есть вся необходимая дока.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0728 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.