Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как перехватывать символы, вводимые с Shift'ом?
 
 автор: barbiturat   (27.08.2008 в 21:24)   письмо автору
 
 

Мне нужно сделать так, что б в поле ввода можно было вводить только определенные символы (например, только цифры). Для этого я пишу следующий код:

inputName.onKeyDown = function(e){
   var result = false
   if(/[\d]/.test(String.fromCharCode(e.charCode ? e.charCode : e.keyCode)){result = true}
   return result;
}

А как мне перехватывать такие символы, как двоеточие, или плюс? Их можно вводить только зажав shift, и обработчик в этом случае "ловит" только shift.

  Ответить  
 
 автор: PAT   (28.08.2008 в 01:55)   письмо автору
 
   для: barbiturat   (27.08.2008 в 21:24)
 

1. Клавиша SHIFT имеет свой keyCode, равный 16

2. Кроме того, объект EVENT имеет свойство shiftKey, которое выдает TRUE при нажатой клавише SHIFT, и FALSE - при ненажатой.

Теперь, зная об этом, вам самому, по-моему, нетрудно будет переделать ваш скрипт:
а) при keyCode == 16 игнорируем и из функции выходим с TRUE;
б) в противном случае (т.е. при нажатии всех остальных, кроме SHIFT, клавиш) проверяем значение shiftKey и делаем то, что вам нужно делать при каждом из двух возможных значений.

*Внимательно прочтите

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования