![]() |
Модераторы: 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) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |