2011-08-17 45 views
0

私は検索フォームにJavascriptのオートコンプリート機能を使用するクライアントのサイトで作業しています。ウェブサイトはヘブライ語ですが、恐怖を感じないようにしてください。私の問題は英語ではなくコードで書かれています。 :)
リンク:-removed by author-
オートコンプリートオプションのほとんどはヘブライ語ですが、英語でも簡単にテストできるように「test」を追加しました。
基本的に、このオートコンプリートスクリプトはテキスト入力ボックスを生成し、ユーザーが文字(onkeyup)を入力すると、一般的な値のリスト(例:「テスト」)が表示されます。 これはChromeとIEの両方で正常に動作しますが、何らかの理由でFirefoxの動作が異なります。エラーコンソールに応じ
あなたはFirefoxで文字を入力し、:JavascriptのオートコンプリートはIEとChromeで動作し、Firefoxでは動作しません

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

同じ(ソースコード内の行〜460)は、第2の入力フィールドにsearchResult0のために行きます。
-removed-オートコンプリートスクリプトは、Firefoxでが機能するので、実際にはどういう機能が変更されたのか分かりません。

これで任意の助けをありがとう:)

答えて

2

を問題はonkeyup="searchResult1.style.visibility='visible';..."あり、それはdocument.getElementById('searchResult1').style.visibilityする必要があります - あなたは、そのIDによって要素を参照しています。これはIDを持つ要素が "グローバル変数"に変わる古いMSIE機能ですが、それは実際に使用すべきではありません。他のブラウザは、MSIEとの互換性を維持するために、この間違い(「グローバルスコープ汚染」)のサポートを実装していましたが、これは単に互換レイヤーであり、特定の条件下でのみ起動します。

+0

:私はあなたにあなたが

オートコンプリートデモjquery1.5.2あるコードを参照します。 このスクリプトは実際に私のものではなく、私の前にサイトで働いていた人物によって実装されていて、実際にそれを台無しにしてしまったのです。現在のスクリプトをすべてジョブの一部として保存しなければならず、それにはこの自動完成スクリプトが含まれていました。 私はこの特定のスクリプトを削除するためのヒントをありがとうが、私が言及したように私はクライアントの希望のためにこの特定のケースでそれを保持する必要があります。とにかく - ありがとう、これは私を狂ってしまった。 –

0

あなた自身で何かを書くのではなく、jqueryオートコンプリートプラグインを試してみませんか?書かれたjavascriptは適切ではありません。

jqueryオートコンプリートプラグインを使用するのが最適です。 - 私はあなたにおじぎをしたばかりの私のお尻を保存 http://view.jquery.com/trunk/plugins/autocomplete/demo/

ダウンロードおよびドキュメント http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

+0

私のクライアントは、元のスクリプト(これは自分で書いたものではありません)をすべて保存するように要求しています。そのため、私は「外部」スクリプトを使用できません。ありがとうございました! –

関連する問題