Willkommen in der Webstatt
User-1 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. xyz-48n 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 :(

xyz-48ke für Hilfe :)

netcup.de Warum gibt es hier Werbung?
User-2 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.

User-3 am 18.04.07 19:08

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

User-4 am 18.04.07 19:12

onChange?

User-3 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.

User-5 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 ;)

User-1 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 xyz-72
// 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.

User-6 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é

User-1 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