IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Помогите с javascript (https://www.imho.ws/showthread.php?t=30692)

LION0202 28.05.2003 14:27

Помогите с javascript
 
Здравствуйте. Вроде бы элементарно, а решить не могу. Как получить положение курсора(не мыши) в textarea. Конкретнее:
Есть textarea, есть кнопка. При нажатии на кнопку в textarea в то место, где там сейчас курсор, должно что-то вставляться. Повторяю, не в конец текста, а именно туда, где сейчас курсор.
Заранее спасибо.

Stasik 28.05.2003 17:34

т.е. просто плейс? такого помоему на JS не собрать, только на VBScript

LION0202 28.05.2003 17:45

Плохо, если так - надо на javascript. За ответ спасибо( отрицательный результат тоже результат :-) )

aleh 07.06.2003 12:46

Вложений: 1
IE не хранит позицию курсора в TextArea. Если бы это было так, то в этом форуме можно было бы вставлять смайлы именно как ты хочешь, а не в конец текста (Я специально поднял кучу доков и проверил).

Можно было бы перехватывать нажатия клавиш (onkeypress), запоминать и заменять event.keyCode на что-нибудь непечатное (1, 2 ...), потом определять его позицию в TextArea и заменять _непечатное_ на введённое пользователем значение. Но... клавиши удаления и курсора наплевательски игнорируются :(
Кроме того, после потери фокуса (что произошло бы при нажатии кнопки), TextArea не запоминает позицию курсора (пройдись Tab, Shift-Tab).

Однако, можно же использовать пресловутый Drag & Drop, или выделение! С Drag & Drop не пробовал, но должно выглядеть неплохо -- подцепил иконку и снёс на TextArea.
Выделение (selection) может быть проще, но оно глобально (document.selection) -- нужно осторожнее с ним, а то будешь редактировать HTML страницы на лету :smile:

P.S.
Ежели нужна кому реализация на Drag&Drop -- сигнальте, постараюсь разобраться.

LION0202 09.06.2003 15:08

Спасибо за ответ, конечно, но мне уже подсказали-
http://netadmin.ws/forum/showthread....5168#post45168

astanoid 16.06.2003 07:31

дядьки - можно нижеследующее как_нить проще оформить?
<script language="JavaScript">
function tchk(aa)
{
var Arr1=new Array;
Arr1=document.c.id;
for (i=0;i<Arr1.length;i++)
{
if (document.c.id[i] != aa)
{
document.c.id[i].checked=false;
};
};
};
</script>

aleh 16.06.2003 12:02

Вложений: 1
astanoid
Зачем же список всех элементов забивать в новый массив? IE сам может отфильтровать что нужно (c -- так форма называется, я не проверял):

function tchk(aa) {
var list = document.c.all[aa]; //взять из контейнера c все тэги с ID=aa
var i;

for (i = 0; i < list.length; i++)
list[i].checked = ! list[i].checked;
}

Ниже клею пример где по кнопке происходит инверсия в 16-ти CheckBox-ах + маленький отладочный showProp()...


Часовой пояс GMT +4, время: 18:17.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.