Автозаполнение Javascript работает в IE и Chrome, не работает в Firefox - PullRequest
0 голосов
/ 17 августа 2011

Я работаю над сайтом клиента, который использует функцию автозаполнения Javascript в форме поиска.Веб-сайт на иврите, но, пожалуйста, не пугайте вас - моя проблема в коде, а не на английском.:)Ссылка: удалена авторомБольшинство опций автозаполнения написаны на иврите, но я добавил «тест», чтобы было легко тестировать и на английском.В основном этот сценарий автозаполнения генерирует текстовое поле ввода, и когда пользователь вводит букву (onkeyup), предлагается список общих значений (например, «тест»).Это прекрасно работает как в Chrome, так и в IE, но по какой-то причине Firefox ведет себя по-разному.Когда вы вводите букву в Firefox, в соответствии с ошибкой консоли:

Error: searchResult1 is not defined
Source File: 
Line: 1

То же самое относится к searchResult0 во втором поле ввода (строка ~ 460 в исходном коде).Если вы посмотрите на -removed - скрипт автозаполнения работает в Firefox, поэтому я не знаю, что именно я мог изменить, что нарушило его функциональность.Спасибо за любую помощь с этим:)

Ответы [ 2 ]

2 голосов
/ 17 августа 2011

Проблема в onkeyup="searchResult1.style.visibility='visible';...", она должна быть document.getElementById('searchResult1').style.visibility - вы ссылаетесь на элемент по его идентификатору. Это старая функция MSIE, в которой элементы с идентификатором превращаются в «глобальные переменные», но на самом деле это не то, что вы должны использовать. В других браузерах реализована поддержка этой ошибки («загрязнение глобальной области видимости»), чтобы оставаться совместимым с MSIE, но это всего лишь слой совместимости, который включается только при определенных условиях.

0 голосов
/ 17 августа 2011

Почему бы вам не попробовать использовать плагин автозаполнения jquery, а не писать что-то самостоятельно.Написанный javascript некорректен.

Лучше всего использовать плагин автозаполнения jquery.Я вижу в вашем коде вы jquery1.5.2

Демо автозаполнения: http://view.jquery.com/trunk/plugins/autocomplete/demo/

Загрузка и документация http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...