Willkommen in der Webstatt Zum Webstatt Blog und Stories
sili sili am 18.04.07 15: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. Dann 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 :(

Danke für Hilfe :)

netcup.de Warum gibt es hier Werbung?
Kevz am 18.04.07 18: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.

danieL danieL am 18.04.07 19:08

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

Snake am 18.04.07 19:12

onChange?

danieL danieL am 18.04.07 19: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.

Franky Franky am 18.04.07 22:25

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

// ah habs: [FONT=courier new]autocomplete="off"[/FONT] ist denke ich, dass was du suchst ;)

sili sili am 18.04.07 22:29

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

Quote
Original von Franky
// ah habs: [FONT=courier new]autocomplete="off"[/FONT] ist denke ich, dass was du suchst ;)


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

Rene Rene am 19.04.07 03: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é

sili sili am 19.04.07 23:19

Das wäre auch eine Möglichkeit. Ich versuche es mal so :)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt