![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Axiom |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 31.1.2011 Репутация: нет Всего: нет |
Всем доброго!
Пишу скрипт следующего типа: Юзер в input#num вводит какую-либо цифру. Скрипт автоматов выдирает её и множит, допустим на 2.
Когда ввожу число, то алерт выводит пустое значение. Но если ввести еще одно, то выводит предыдущее значение. Подскажите в чем проблема. Почему так происходит? |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
потому что изменение в инпуте из которого читается значение еще не произошло. Так уж сложились обработчики событий. Один из способов решения - отложить обработку вычисления на какое-то время
Другой способ - перенести вычисление на метод keyup. а зачем там возвращается false? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Axiom |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 31.1.2011 Репутация: нет Всего: нет |
Теперь почему-то вообще не работает. Даже алерта нет.
Пробовал и .keypress и .keyup. Это я как-то на автомате. По сути этот блок можно пропустить...
Также пробовал без тайм-аута. Есть, конечно, вариант через post-запрос скормить значение инпута, php:
proc.php
Таким образом всё работает, но это страшный велосипед. Это сообщение отредактировал(а) Axiom - 31.1.2011, 18:56 |
||||||
|
|||||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
для jquery var e = event || window.event; тоже можно пропустить. Событие уже правильно оформлено и так.
вот такое у меня исправно работет. Алерт есть. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Axiom |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 31.1.2011 Репутация: нет Всего: нет |
Разобрался.
Обработчик .keypress привязывался к узлу input, до его появления в структуре dom. ksnk, Спасибо Твой последний пример и указал на мою ошибку. =) |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |