Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавить код в скрипт 
V
    Опции темы
s0lman
Дата 10.1.2008, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: нет
Всего: 29



Суть в чем. Запретил ввод пользователю латинского тескта. использовал две функции
Код

function checKirNum(e, id){keypressCharFilter(e, "0123456789абвгдеёєжзиіїйклмнопрстуфхцчшщэюяьъАБВГДЕЁЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЭЮЯЬЪ .,-'");} //разрешенные символы для ввода
 
Код

function keypressCharFilter(e,allowedChars)   //функция-обработчик
{
 if (!e) e = event;
 var charCode = typeof(e.charCode)=='number'?e.charCode:e.keyCode;
 if (charCode && allowedChars.indexOf(String.fromCharCode(charCode))==-1)
(e.preventDefault && e.preventDefault()) || (e.returnValue = false);
}

Задача. В функцию keypressCharFilter (если честно, я не понимаю принципа ее действия) нужно добавить код, котрый в случае,если вводится недопустимый символ (напр s),вполнить действие, напр alert("Переключи раскладку").  
Спасибо


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
ksnk
Дата 10.1.2008, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Код

function keypressCharFilter(e,allowedChars)   //функция-обработчик
{
 if (!e) e = event;
 var charCode = typeof(e.charCode)=='number'?e.charCode:e.keyCode;
 if (charCode && allowedChars.indexOf(String.fromCharCode(charCode))==-1){
  (e.preventDefault && e.preventDefault()) || (e.returnValue = false);
  setTimeout("alert('раскладку переключи!!!')",10)
}
}



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
s0lman
Дата 11.1.2008, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: нет
Всего: 29



Спасибо smile Но зачем там задержка?

Добавлено через 5 минут и 23 секунды
и как можно добавить в параметр allowedChars спецсимволы (табуляция, бэкспэйс, ктрл, альт, шифт)?


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
ksnk
Дата 11.1.2008, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(s0lman @  11.1.2008,  01:09 Найти цитируемый пост)
Но зачем там задержка?
 Возможно и не зачем, вот только мне как-то не по себе, когда  в обработчике клавиатуры, до выхода алерты выводят... ;-)

Табуляцию не так уж просто ввести в поле формы. Бекспейс и протчие альты и контролы - соответствующие коды символов нужно знать... 16 - Ctrl,17-Shift 18 - Alt, 8 - backspace... Впрочем, еще не все... Если в alert вставить вот такое - будет более понятно.
Код

  setTimeout("alert('раскладку переключи!!! "+charCode+"')",10)
...

function checKirNum(e, id){keypressCharFilter(e, 
  String.fromCharCode(16, 17,18,8)+ // контрол и протчие альты добавить по вкусу...
"0123456789абвгдеёєжзиіїйклмнопрстуфхцчшщэюяьъАБВГДЕЁЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЭЮЯЬЪ .,-'");} 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
s0lman
Дата 13.1.2008, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: нет
Всего: 29



ksnk, спасибо  smile 


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.