schoener_nick
Mitglied
Hallo zusammen!
Für die Suchfunktion auf einer Website habe ich eine Google-Suggest-Ähnliche Vorschlagsfunktion eingebaut. Da ich selbst aber eigentlich nur mit PHP programmiere und mit Javascript sehr wenig Erfahrung habe, habe ich das ganze mit viel Rumprobieren und unter Verwendung eines fremden Codes hingekriegt. Jetzt taucht allerdings ein Problem auf, das ich mit Rumprobieren nicht lösen kann. Vielleicht kann mir von Euch ja jemand weiterhelfen.
Ich werde zunächst das Problem beschreiben und dann die nötigen Quellcodes anhängen.
Das Problem:
Wenn man in das Suchfeld etwas eingibt findet im Hintergrund (über Ajax) ein Datenbank-Request statt, der sinnvolle Suchbegriffe zurückgibt. Diese werden dann in einem Dropdownfeld unter dem Textfeld angezeigt und wenn man einen Begriff auswählt, wird dieser in das Textfeld eingetragen. Das dürfte allen von Google-Suggest bekannt sein.
Eigentlich funktioniert das auch, allerdings nicht, wenn der vorgeschlagene Suchbegriff ein "&-Zeichen" enthält. Im Dropdownmenü wird z. B. "Meyer & Söhne" angezeigt, wählt man es aber aus, wird ins Textfeld "Meyer & Söhne" geschrieben. Natürlich findet der Suchende nichts, wenn er diesen Suchbegriff nun bestätigt. Ich habe ein kleines Suchformular gebastelt, das nichts enthält, was nichts mit dem Problem zu tun hat, um Euch das ganze besser demonstrieren zu können. Jetzt wird komischerweise sogar im Dropdownmenü alles ab dem "&" abgeschnitten. Warum das nun wieder passiert, weiß ich schon gar nicht...
Da ich selbst nicht besonders viel Javascript kann, habe ich den größten Teil des Codes fertig übernommen. Der Code ist offensichtlich nicht dafür gemacht, in ihm Fehler zu suchen. Ich hoffe trotzdem, dass jemand von Euch vielleicht irgendeine Idee hat, wie ich das Problem beheben kann.
Unter folgender URL könnt Ihr Euch mal mein Problem anschauen:
http://development.stubermedia.com/suggest-problem/index.htm
Eigentlich ist alles, was es zu sehen gibt direkt in der index.htm enthalten. Es findet der Aufruf eines PHP-Skriptes über Ajax statt. Das PHP-Skript gibt unabhängig von Eurer Eingabe immer dasselbe zurück, damit Ihr das Problem auch seht.
Die Ajax-Rückgabe lautet:
sendRPCDone(frameElement, "me", new Array("meyer & söhne", "meyer's söhne"), new Array("", ""), new Array ("", ""));
Ich bin für alles dankbar, was mir irgendwie ein Stück weiterhilft. Ich selbst komm hier gar nicht mehr weiter.
Für die Suchfunktion auf einer Website habe ich eine Google-Suggest-Ähnliche Vorschlagsfunktion eingebaut. Da ich selbst aber eigentlich nur mit PHP programmiere und mit Javascript sehr wenig Erfahrung habe, habe ich das ganze mit viel Rumprobieren und unter Verwendung eines fremden Codes hingekriegt. Jetzt taucht allerdings ein Problem auf, das ich mit Rumprobieren nicht lösen kann. Vielleicht kann mir von Euch ja jemand weiterhelfen.
Ich werde zunächst das Problem beschreiben und dann die nötigen Quellcodes anhängen.
Das Problem:
Wenn man in das Suchfeld etwas eingibt findet im Hintergrund (über Ajax) ein Datenbank-Request statt, der sinnvolle Suchbegriffe zurückgibt. Diese werden dann in einem Dropdownfeld unter dem Textfeld angezeigt und wenn man einen Begriff auswählt, wird dieser in das Textfeld eingetragen. Das dürfte allen von Google-Suggest bekannt sein.
Eigentlich funktioniert das auch, allerdings nicht, wenn der vorgeschlagene Suchbegriff ein "&-Zeichen" enthält. Im Dropdownmenü wird z. B. "Meyer & Söhne" angezeigt, wählt man es aber aus, wird ins Textfeld "Meyer & Söhne" geschrieben. Natürlich findet der Suchende nichts, wenn er diesen Suchbegriff nun bestätigt. Ich habe ein kleines Suchformular gebastelt, das nichts enthält, was nichts mit dem Problem zu tun hat, um Euch das ganze besser demonstrieren zu können. Jetzt wird komischerweise sogar im Dropdownmenü alles ab dem "&" abgeschnitten. Warum das nun wieder passiert, weiß ich schon gar nicht...
Da ich selbst nicht besonders viel Javascript kann, habe ich den größten Teil des Codes fertig übernommen. Der Code ist offensichtlich nicht dafür gemacht, in ihm Fehler zu suchen. Ich hoffe trotzdem, dass jemand von Euch vielleicht irgendeine Idee hat, wie ich das Problem beheben kann.
Unter folgender URL könnt Ihr Euch mal mein Problem anschauen:
http://development.stubermedia.com/suggest-problem/index.htm
Eigentlich ist alles, was es zu sehen gibt direkt in der index.htm enthalten. Es findet der Aufruf eines PHP-Skriptes über Ajax statt. Das PHP-Skript gibt unabhängig von Eurer Eingabe immer dasselbe zurück, damit Ihr das Problem auch seht.
Die Ajax-Rückgabe lautet:
sendRPCDone(frameElement, "me", new Array("meyer & söhne", "meyer's söhne"), new Array("", ""), new Array ("", ""));
Ich bin für alles dankbar, was mir irgendwie ein Stück weiterhilft. Ich selbst komm hier gar nicht mehr weiter.
Zuletzt bearbeitet: