Программирование > JavaScript & JScript

FindTextRange

(1/1)

Vitunchik:
Кто подскажет, в чем заключаются грабли - искать ищет, а выделять не хочеи!
Конечно кривовато, но мне не надо определенных символов, мне достаточно сканкодов...
И еще - как организовать подобие BackSpace ( mystring.length--; не работает, какие идеи?)





mystring = new String("");
myst     = new String("");
function ftr(mystr) {
  objFoundRange = document.all.mytext.createTextRange();
  if (objFoundRange.findText(mystr)) {
      myst = "" + mystr + "";
      objFoundRange.pasteHTML = "cool";//mystobj
//      alert(objFoundRange.text);
      objFoundRange.scrollIntoView;
     }
 }

window.status = mystring;
function find_string() {
  mykey = window.event.keyCode;
  if (mykey == 8) {
   mystring.length--;}
  else if (mykey == 27) {mystring="";} else {
  mystring += scancode(mykey);} //
  window.status = mystring;
 if (mystring.length > 0) { ftr(mystring); }
  }
function scancode(code) {
  if (code == 81)  {return "й";}  if (code == 65)  {return "ф";}  if (code == 90) {return "я";}
  if (code == 87)  {return "ц";}  if (code == 83)  {return "ы";}  if (code == 88) {return "ч";}
  if (code == 69)  {return "у";}  if (code == 68)  {return "в";}  if (code == 67) {return "с";}
  if (code == 82)  {return "к";}  if (code == 70)  {return "а";}  if (code == 86) {return "м";}
  if (code == 84)  {return "е";}  if (code == 71)  {return "п";}  if (code == 66) {return "и";}
  if (code == 89)  {return "н";}  if (code == 72)  {return "р";}  if (code == 78) {return "т";}
  if (code == 85)  {return "г";}  if (code == 74)  {return "о";}  if (code == 77) {return "ь";}
  if (code == 73)  {return "ш";}  if (code == 75)  {return "л";}  if (code == 188) {return "б";}
  if (code == 79)  {return "щ";}  if (code == 76)  {return "д";}  if (code == 190) {return "ю";}
  if (code == 80)  {return "з";}  if (code == 186) {return "ж";}  
  if (code == 219) {return "х";}  if (code == 222) {return "э";}  
  if (code == 221) {return "ъ";}  return "";
  }


Некоторый текст

Макс:
Vitunchik
ИМХО без комментариев к коду большая часть посетителей даже не будут пытаться разобраться.
И упрости код, удали из него все лишнее

Vitunchik:
Ищется строка mystr в body=mytext:

function ftr(mystr) {
objFoundRange = document.all.mytext.createTextRange();
if (objFoundRange.findText(mystr)) {
myst = "" + mystr + "";
objFoundRange.pasteHTML = mystobj;
// alert(objFoundRange.text);
objFoundRange.scrollIntoView;
}
}
Для проверки того, что строка все-таки находится можно раскомментировать alert(...);
Т.е. по идее он должен найти строку, что он и делает, а затем найденное заменить, чего он и не может сделать

Макс:
Vitunchik
объект mytext - это textarea ?
попробуй вместо
--- Цитировать ---objFoundRange.pasteHTML = mystobj;

--- Конец цитаты ---
(кстати правильно objFoundRange.pasteHTML(myst);) вставить
objFoundRange.text = myst;

Vitunchik:
mytext - Все, что находится внутри тега body

Хорошо, попробую...
 objFoundRange.pasteHTML(myst);

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии