textarea и принудительное выделение

  • Автор темы Автор темы antonio
  • Дата начала Дата начала

antonio

Moderator
Команда форума
textarea и принудительное выделение

А скажите-ка мне знатоки яваскрипта. Есть ли возможность яваскриптом принудительно в textarea сделать выделение нужного фрагмента текста и промотать его до этого фрагмента?

Всякие DHTML редакторы на базе ActiveX просьба не предлагать.
 
по-моему, не реально. даже innerHTML не спасет.
 
не знаю что ты имел ввиду под
нужного фрагмента текста
но думаю этот фрагмент скрипта тебе чем-то поможет:
Код:
<html>
<script>
function test() {
	obj = document.frm.txt.createTextRange();
	obj.findText("Этот текст нужно выделить");
	obj.select();
	obj.scrollIntoView();
}

</script>
<body onload="test();">
<form name="frm">
<textarea name="txt" cols="100" rows="10">
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
veee Этот текст нужно выделить 
bla bla bla 
la la la 
yo yo yo
!!!!!!!!!!!!!!
</textarea>
</form>
</body></html>

ЗЫ
не обещаю что будет работать где-то за пределами IE5
 
Все, спасибо, сам разобрался, работает как часы :))

function FindError(b,e) {
ta=document.forms["ScriptForm"].F_PROGRAMSCRIPT.createTextRange();
skiped=0;
s=new String(ta.htmlText);
for (i=1;i<=b+1;i++) if (s.substr(i,1)=='\n') skiped++;
ta.moveStart("character",-1000000000);
ta.moveEnd("character",-1000000000);
ta.moveStart("character",b-skiped);
for (i=b;i<=e-1;i++) ta.expand("character");
ta.select();
}

приходится делать изврат
ta.moveStart("character",-1000000000);
ta.moveEnd("character",-1000000000);
чтобы загнать обе позиции в 0, т.к. это относительные смещения.
 
Сверху