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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> String.fromCharCode(event.keyCode), возвращает неверный символ 
:(
    Опции темы
Madferit
Дата 18.7.2005, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Столкнулся с проблемой:

При написании функции валидации данных формы, для многих из нажатых символов (например '.' ',' '-' , цифры в правой части клавиатуры...) String.fromCharCode(event.keyCode) возвращает строковое представление совсем не того символа что я нажал.

Кто-нибудь сталкивался с подобным? В чем причина и как с этим бороться?
PM MAIL   Вверх
Madferit
Дата 18.7.2005, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я тут подебажил: оказывется в event.keyCode лежит неверный код символа.

Полный код такой:

Код

<Input type="text" name="price" onkeydown="ValidatePrice()" />


Код

function ValidatePrice()
{
     var priceStr = document.all("inputForm").price.value;             
    
     priceStr = priceStr.toString();    
     var newStr;
     alert(window.event.keyCode);
     switch (event.keyCode)
     {
       case 8: //backspase
            newStr = priceStr.substring(1, priceStr.length-1);
            break;
       case 190: //'.'
          newStr = priceStr + ".";
            break;
       default:       
            newStr = priceStr + String.fromCharCode(event.keyCode);
     }    
     newStr = newStr.toString();
     var numRegExpr = /^[-]?\d*\.?\d*$/;
     if (numRegExpr.test(newStr))
            event.returnValue = true;
     else
            event.returnValue = false;
}


Это сообщение отредактировал(а) Madferit - 18.7.2005, 12:29
PM MAIL   Вверх
Sardar
Дата 18.7.2005, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Madferit во первых не стоит использовать document.all

Во вторых если нужен код символа, то ловишь onkeypress. В третьих под мозиллой нужно считывать charCode.

Вот пример: http://forum.vingrad.ru/index.php?showtopi...ndpost&p=427632


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Madferit
Дата 18.7.2005, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


 




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


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

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