Функция автозаполнения в Internet Explorer не вызывает события JavaScript - PullRequest
2 голосов
/ 14 мая 2009

У меня есть страница .ASP, которая использует событие onChange для запуска поиска информации в базе данных. (После ввода кода система проверяет код и помещает описание рядом с ним. I.E. GP1234 возвращает GP1234-Rubber Duck или GP1234-Invalid Code). Проблема, с которой я столкнулся, заключается в том, что мои пользователи с активным автозаполнением получают список ранее использованных кодов. Если они используют один из кодов в списке, данные вводятся, но не запускается событие, чтобы направить страницу для проверки данных. Я пробовал OnChasnge, OnBlur и onMouseOut.
Есть предложения?

Ответы [ 2 ]

2 голосов
/ 18 мая 2009

С Использование автозаполнения в формах HTML в MSDN:

Чтобы определить, когда пользователь обновляет содержимое поля из Диалоговое окно автозаполнения, используйте onpropertychange событие, а не событие onchange , потому что onchange Событие не запускается.

Обратите внимание, что событие onpropertychange является собственностью Internet Explorer, поэтому вам все равно потребуется обработка для других браузеров и что оно запускается после каждого нажатия клавиши, поэтому оно не совместимо напрямую с событием onchange.

1 голос
/ 17 мая 2009

Установка autocomplete="off" на входе предотвратит представление ранее введенных значений.

Если вы не хотите этого делать, события, которые вы, вероятно, ищете, это onkeyup (для стрелки / ввода в опциях) и onmouseup (для нажатия на опциях).

...