簡體   English   中英

Javascript 自動完成功能適用於 IE 和 Chrome,不適用於 Firefox

[英]Javascript autocomplete works in IE and Chrome, doesn't work in Firefox

我正在使用搜索表單中的 Javascript 自動完成功能的客戶網站。 該網站是希伯來語的,但請不要被嚇跑——我的問題是代碼,而不是英語。 :)
鏈接:-被作者刪除-
大多數自動補全選項都是希伯來語,但我添加了“測試”,以便用英語進行測試也很容易。
基本上,這個自動完成腳本會生成一個文本輸入框,當用戶輸入一個字母( onkeyup )時,會提供一個常用值列表(例如“test”)。 這在 Chrome 和 IE 中都可以正常工作,但由於某種原因,Firefox 的行為有所不同。
當你在 Firefox 中輸入一個字母時,根據錯誤控制台:

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

第二個輸入字段中的searchResult0也是如此(源代碼中的第 ~460 行)。
如果您查看 -removed- 自動完成腳本確實在 Firefox 中工作,所以我真的不知道我可以改變什么會破壞它的功能。

感謝您對此的任何幫助:)

問題是onkeyup="searchResult1.style.visibility='visible';..." ,它應該是document.getElementById('searchResult1').style.visibility - 你指的是一個元素的 ID。 這是一個舊的 MSIE 功能,帶有 ID 的元素會變成“全局變量”,但這真的不是你應該使用的東西。 其他瀏覽器實現了對此錯誤功能的支持(“全局 scope 污染”)以保持與 MSIE 的兼容性,但它只是一個兼容層,僅在某些條件下才會啟動。

您為什么不嘗試使用 jquery 自動完成插件而不是自己編寫一些東西。 javascript 寫的不對。

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

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

下載和文檔http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM