Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > нормальный onchange на input


Автор: leniviy 22.11.2010, 13:22
Привет. Есть фильтр в заголовке таблицы. Надо запускать фильтрацию спустя 2 секунды после того, как юзер перестал печатать. Хотел повесить на onchange, но он срабатывает только при потере фокуса. А популярный onkeyup не срабатывает с мышкой, зато реагирует на нажатие TAB.

Автор: CruorVult 22.11.2010, 13:59
а что мешает и то и другое заюзать?

Автор: leniviy 22.11.2010, 14:27
а как я узнаю, что значение изменилось?

Автор: CruorVult 22.11.2010, 14:34
сохранять значение в глобальной переменной.

Добавлено через 8 минут и 1 секунду
можно вообще без событий, просто запустить setInterval и каждые 2 секунды проверять значение фильтра, если он изменился - то выполнить фильтрацию.

Добавлено через 12 минут и 30 секунд
как-то так:
Код

var global_filter = "";
setInterval(function()
{    
    var filter = document.getElementById("filter_id").value;
    if(filter!=global_filter && filter!="") {
        global_filter = filter;
        filter_method(filter);
    }    
}
, 2000);    

Автор: bars80080 22.11.2010, 16:16
а лучше скобинировать onchange и onkeyup на таймер, который уже будет запускать обработчик

Автор: varosh 14.12.2010, 16:20
Привет! Подскажите плиз по такому вопросу:

Есть анкета для голосования(.php), все работает, все норм. Только есть маленькая проблема, один человек голосует не один раз ,а множество.
Как это поправить?
 smile 

Автор: leniviy 14.12.2010, 16:42
varosh, 1) создать отдельную тему. 2) Использовать метод POST, а не GET

Автор: bars80080 14.12.2010, 17:08
создайте отдельную тему

Цитата(varosh @  14.12.2010,  15:20 Найти цитируемый пост)
Только есть маленькая проблема, один человек голосует не один раз ,а множество.

- разрешение голосования только для зарегистрированных пользователей
- сохранять на сервере данные по голосовавшему пользователю, к примеру, его ip. но это не слишком надёжно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)