Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   onchange при автозаполнении браузером (https://javascript.ru/forum/events/11073-onchange-pri-avtozapolnenii-brauzerom.html)

lurii 05.08.2010 13:03

onchange при автозаполнении браузером
 
На странице обычное текстовое поле ввода:
<input type="text" id="email" name="email" value="" onkeyup="alert(this.value)" />

При вводе с клавы автоматом значение проверяется (ajax), но если значение выбрано из выпадающего списка запомненных значений браузером - никак не перехватывается ...
(при отображении страницы поле пустое, при клике ЛКМ браузером выводится список ранее вводимых значений)
onchange тоже не подходит, т.к. при этом надо обязательно ткнуть в пустое место страницы (нужен уход фокуса)

Каким событием можно это отследить?

(autocomplete="off" запретить браузеру предлагать варианты заполнения не айс и таймер тоже вешать не буду)

x-yuri 06.08.2010 01:57

не хочешь, как хочешь :p

p.s. таймер кстати можно останавливать по onblur

lurii 06.08.2010 02:26

Ну что ж ... остается только этот вариант.
Вот будет весело когда повешу на страничку еще 20 таймеров.
(пока в инпуте onkeyup&onchange)

ЗЫ: юзер туп и ленив - лишний раз жамкать мышой не хочет :-/

x-yuri 06.08.2010 05:50

Цитата:

Сообщение от lurii
Вот будет весело когда повешу на страничку еще 20 таймеров.

зачем? При получении фокуса вешаешь таймер, при потере - отменяешь

Цитата:

Сообщение от x-yuri
ЗЫ: юзер туп и ленив - лишний раз жамкать мышой не хочет

а ты что, автокомплитом не пользуешься? Зря...

Kolyaj 06.08.2010 08:34

Цитата:

Сообщение от lurii
Вот будет весело когда повешу на страничку еще 20 таймеров.

Один таймер может наблюдать за несколькими полями.

Цитата:

Сообщение от lurii
ЗЫ: юзер туп и ленив - лишний раз жамкать мышой не хочет

Как правило, программист туп и ленив, не хочет лишнюю функциональность реализовать, чтобы пользователь счастлив был.

lurii 06.08.2010 13:51

OK, буду исправляться, спасибо всем за советы.


Часовой пояс GMT +3, время: 19:10.