Javascript自动填充适用于IE和Chrome,在Firefox中不起作用

时间:2011-08-17 09:21:52

标签: javascript firefox autocomplete

我正在使用搜索表单中使用Javascript自动填充功能的客户端网站。该网站是希伯来语,但请不要让它吓跑你 - 我的问题是代码,而不是英语。 :)
链接: - 由作者删除 -
大多数自动填充选项都是希伯来语,但我添加了“test”,因此也很容易用英语进行测试。
基本上,这个自动完成脚本生成一个文本输入框,当用户输入一个字母(onkeyup)时,会提供一个公共值列表(例如“test”)。 这在Chrome和IE中都运行良好,但由于某种原因,Firefox的行为也不同 在Firefox中输入一个字母时,根据错误控制台:

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

第二个输入字段中的searchResult0也是如此(源代码中的行~460)。
如果你看-removed-自动完成脚本 在Firefox中工作,所以我真的不知道它是什么我可以改变它破坏了它的功能。

感谢您对此的任何帮助:)

2 个答案:

答案 0 :(得分:2)

问题是onkeyup="searchResult1.style.visibility='visible';...",它应该是document.getElementById('searchResult1').style.visibility - 您指的是ID的元素。这是一个旧的MSIE功能,带有ID的元素变成了“全局变量”,但这不是你应该使用的东西。其他浏览器实现了对这种错误(“全局范围污染”)的支持以保持与MSIE兼容,但它仅仅是一个兼容层,只在某些条件下启动。

答案 1 :(得分:0)

为什么不尝试使用jquery自动完成插件而不是自己编写内容。写的javascript不合适。

最好使用jquery自动完成插件。我在你的代码中看到你是jquery1.5.2

自动完成演示: http://view.jquery.com/trunk/plugins/autocomplete/demo/

下载和文档 http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/