Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript自动完成在IE和Chrome中工作,不';我不能在Firefox中工作_Javascript_Firefox_Autocomplete - Fatal编程技术网

Javascript自动完成在IE和Chrome中工作,不';我不能在Firefox中工作

Javascript自动完成在IE和Chrome中工作,不';我不能在Firefox中工作,javascript,firefox,autocomplete,Javascript,Firefox,Autocomplete,我正在一个客户端网站上工作,该网站在搜索表单中使用Javascript自动完成功能。该网站是希伯来文的,但请不要让它吓跑你-我的问题是代码,而不是英语。:) 链接:-由作者删除- 大多数自动补全选项都是希伯来语,但我添加了“test”,这样就很容易用英语进行测试 基本上,这个自动完成脚本会生成一个文本输入框,当用户键入一个字母(onkeyup)时,会提供一个通用值列表(例如“test”)。 这在Chrome和IE中都能正常工作,但由于某些原因,Firefox的表现有所不同。 在Firefox中输

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

Error: searchResult1 is not defined
Source File: 
Line: 1
第二个输入字段中的
searchResult0
(源代码中的第460行)也是如此
如果你看一下-removed-autocomplete脚本在Firefox中的工作情况,那么我真的不知道是什么让我改变了它的功能


感谢您在这方面的帮助:)

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

为什么不尝试使用jquery autocomplete插件,而不是自己编写一些东西呢。编写的javascript不正确

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

自动完成演示:

下载和记录

你刚刚救了我的命-我向你鞠躬。这个脚本实际上不是我的,它是由在我之前在这个网站工作的人实现的,并且真的把它搞砸了。作为工作的一部分,我必须保留所有当前脚本,其中包括这个自动完成脚本。我很感激关于放弃这个特定脚本的提示,但正如我提到的,由于我客户的意愿,我将不得不在这个特殊情况下保留它。无论如何-再次感谢,这让我发疯。我的客户要求我保留所有原始脚本(这不是我自己写的),仅出于这个原因,我不能使用任何“外部”脚本-但我会在将来考虑这一点。非常感谢。