Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > ASCII коды символов и поиск в массиве


Автор: champion 29.7.2008, 14:49
Приветствую всех! Объясните пожалуйста, как получить ASCII код нажатого символа?
Необходимо взять из формы нажатый код и по нему отсортировать данные в форме.
Беру так.
Код

<input type="text" name="filter"  class="fil0" onKeyDown="fs(this.value, event)" />

Код

var scount = 0;
    function fs (f, e) {
        if (!e) e = window.event;
        if((e.which>= 192) && (e.which<=255)) {
            for (var k in fam ) {
                if(fam[k][1][scount]!=f[scount] && document.getElementById('user'+fam[k][0]).style.display!='none') document.getElementById('user'+fam[k][0]).style.display='none'; 
                document.getElementById("debug").value += "scount :" + scount+" " +f;
            }    
            scount += 1;
        }
    }

Далее смотрю по введенному символу присутствие в массиве и отображаю или нет присутствующую комбинацию.
нужно определить какая клавиша нажата, для того, чтобы отделить функциональный клавиши (enter, ctrl && etc) от "буквенных". Как это сделать?

Автор: ksnk 29.7.2008, 15:08
Обработчики событий нужно ставить самим JS. Обработчики - функции строго определенного вида с фиксированным набором параметров.
Код

<input type="text" name="filter"  class="fil0" id="The_Filter"/>



где-нибудь за кодом, или в обработчике onLoad нужно вставить

Код


    var The_Filter=document.getElementById('The_Filter');
    The_Filter.onkeydown=   function fs (e) {
        if (!e) e = window.event;
        if((e.which>= 192) && (e.which<=255)) {
            for (var k in fam ) {
                if(fam[k][1][scount]!=f[scount] && document.getElementById('user'+fam[k][0]).style.display!='none') document.getElementById('user'+fam[k][0]).style.display='none'; 
                document.getElementById("debug").value += "scount :" + scount+" " +The_Filter.value;
            }    
            scount += 1;
        }
    }



Кто такой fam для меня осталось непонятно smile

Автор: champion 30.7.2008, 10:51
Спасибо!! 
P.S> fam - глабальная переменная объявленная как массив ;) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)