|
|
|
| Это снова я. Есть задача: в текстфилде имеется текст. Выделяем часть этого текста мышью и нажимаем на кнопку. После этого, только выделенный текст присваивается переменной. Проблема в том, что я не знаю как найти выделенный текст.
Помогите, а? | |
|
|
|
|
|
|
|
для: SHAman
(06.09.2006 в 12:50)
| | вам нужно что-то из этого http://javascript.aho.ru/files/js/TextRange.html
+поиск по TextRange | |
|
|
|
|
|
|
|
для: AlexSol
(06.09.2006 в 13:11)
| | AlexSol: этого недостаточно, Гекко не учитывает.
Решение можно выкопать из примера вставки псевдокодов в поле ввода:
(прямо вот это фрагмент, не меньше:
var s=insField.value;var insPosL,insPosR;
if(insField.selectionEnd==null){var ch=0;
if(d.selection&&d.selection.createRange){var tR=d.selection.createRange();var ch='character';var tR1=d.body.createTextRange();}
if(!ch||tR.parentElement&&tR.parentElement()!=insField){insPosL=insPosR=s.length;}
else{ insPosL=tR.text.length;
if(insField.type=='textarea'){tR1.moveToElementText(insField);
tR.setEndPoint('StartToStart',tR1);insPosR=tR.text.length;
}else{tR.moveStart('textedit',-1);insPosR=tR.text.length;}
insPosL=insPosR-insPosL; //-чрезвычайно хитрое поведение textRange в textarea
}}else{ insPosL=insField.selectionStart; insPosR=insField.selectionEnd;
if(insBeg&&self.opera&&!insPosL&&!insPosR){insPosL=insPosR=s.length;insBeg=0;}
}
| , insText=s.substring(insPosL,insPosR); - полученная строка, insField - объект поля ввода (insField=d.getElementById('t1');) ) | |
|
|
|
|
|
|
|
для: 12345
(06.09.2006 в 13:34)
| | Спасибо большое. Исчерпывающие примеры. Кое-что прям сразу использую. Еще раз убеждаюсь в бесконечной полезности данного форума!
SoftTime - rulez! | |
|
|
|