![]() |
замена буквы
спасите. ОЧЕНЬ НУЖНО заменять одну букву на другую, по ходу набора, в том же самом текстовом окне...
есть идеи? |
Re: замена буквы
Цитата:
вар. 1 проверять каждую введенную (мало загрузки, но Ctrl+V) вар. 2 проверять постоянно всю строку при вводе и если А==В, то менять вар. 3 проверять всегда данную строку ;) (тормоза придумали трусы) |
>есть
>вар. 1 проверять каждую введенную >(мало загрузки, но Ctrl+V) а как это делать? в этом и весь вопрос вот что я написал, не работает как нужно: eng = new Array(97, 98, 99.. ..74, 90); geo = new Array(4304, 4305, 4330.. ..44, 46, 96); listen = new Object(); listen.onKeyDown = function() { letter_code = Key.getAscii(); for (i=0; i<=geo.length; i++) { if (eng[i] == letter_code) { new_letter = String.fromCharCode(geo[i]); geonew.text = geonew.text+new_letter; }}} Key.addListener(listen) где eng[i] и geo[i] массивы кодов соответсвенно новых и старых букв, geonew - инстанс нэим текстового поля. набирает новые буквы, но старые оставляет в том-же окне и курсор тоже не переходит на конец. help |
ну например:
//TF - TextField name
//txt- variable name TF.onChanged = function(){checkStr();} function checkStr() { var i,checkSimb='x',replaceSimb='@';if(txt=='' || txt==undefined)return; while((i=txt.indexOf(checkSimb))>-1)txt=txt.substring(0, i)+replaceSimb+txt.substring(i+1, txt.length); }; вот так фонтазия сработала! |
волшебник
работает и на все буквы: eng=new Array(97, 98.. ..74, 90); geo=new Array(4304, 4305.. ..46, 96); tf.onChanged = function(){checkStr();} function checkStr() { letter_code = Key.getAscii(); checkSimb=String.fromCharCode(letter_code); i=0; for (i=0; i<=geo.length; i++) { if (eng[i] == letter_code) { replaceSimb = String.fromCharCode(geo[i]); }} if(txt=='' || txt==undefined)return; while((i=txt.indexOf(checkSimb))>-1)txt=txt.substring(0, i)+replaceSimb+txt.substring(i+1, txt.length); } |
Цитата:
|
| Часовой пояс GMT +4, время: 20:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.