Webstatt.org - Community seit 2006 - 2012 (2024?)

Event-Handler für Livesuche

Avatar user-300
18.04.2007 13:32

Hei.

Ich habe eine Art Livesuche geschrieben. Ich habe ein normales Textfeld und sobald dort ein "richtiger" Wert eingegeben wird, wird danach gesucht. Das ganze benutzt zur Zeit den Event-Handler onkeyup.
Das Problem ist aber, dass ich auch ohne Tastatur eine Eingabe in das Textfeld machen kann. Z.B. speichert Firefox ja alle Eingaben die man in einem Textfeld gemacht hat und macht während oder vor der Eingabe jeweils Vorschläge. Dadurch kann ich nur mit Klicks eine Eingabe ins Textfeld machen. user-158n funktioniert die Suche natürlich nicht.
Wie gestalte ich das am besten, dass auch solche Eingaben berücktsichtig werden? Bzw. gibt es einen anderen Event-Handler der auch diese Art der Eingabe abdeckt?

Eigentlich wäre onchange ideal, aber dafür muss man ja zuerst noch irgendwo ausserhalb des Textfeldes klicken traurig

Danke für Hilfe lächeln

user-220
18.04.2007 16:52

Mhh, wie wärs im zusammensatz mit onkeydown? Wäre vllt. noch eine Idee, denn bei einer suche ist ja meist der letzte Key gedrückt.

Avatar user-159
18.04.2007 17:08

Also aus VBA kenne ich afterupdate ... gibt es sowas auch in js?

user-303
18.04.2007 17:12

onChange?

Avatar user-159
18.04.2007 17:26

onchange ist meines wissens nicht das gleiche... onchange wird ja aufgerufen, während der wert im textfeld geändert wird.. after update nachdem die eingabe beendet ist oder?

schlagt mich, wenn ich falsch liege.

Avatar user-182
18.04.2007 20:25

hast du schon gesehen, wie google es macht..?

// ah habs: autocomplete="off" ist denke ich, dass was du suchst zwinkern

Seid ihr auch schon wix'r? xD
Avatar user-300
18.04.2007 20:29

Auch onkeydown hilft hier nicht wirklich traurig
Google verwendet autocomplete="off". Habe ich noch nie gesehen, aber verwenden möchte ich es nicht.

Original von user-182
// ah habs: autocomplete="off" ist denke ich, dass was du suchst zwinkern


Ich finde es nicht sinnvoll, die Browserfunktionen abzuschalten zwinkern Ich verwende auch keine Vorschlagsliste oder derartiges, sondern nur ein einziges Suchresultat.

Avatar user-290
19.04.2007 01:11

Das einzige was mir noch einfallen würde, mit einer Funktion über die setTimeout()-Methode den Wert des Feldes in einem bestimmten Zeitintervall zu überprüfen (z. B. alle 200ms). Diese "künstliche Schleife" würde dann bei onFocus starten und bei onBlur aufhören...
Im ersten Moment hab' ich auch an onChange gedacht. Aber, dass man dann aus dem Objekt rausklicken musste wusste ich auch net^^

Gruß
René

Avatar user-300
19.04.2007 21:19

Das wäre auch eine Möglichkeit. Ich versuche es mal so lächeln