2009-05-14 7 views
2

Ich habe eine .ASP-Seite, die das Ereignis "onChange" verwendet, um eine Datenbanksuche nach Informationen auszulösen. (Nachdem ein Code eingegeben wurde, validiert das System den Code und platziert die Beschreibung daneben. I. E. GP1234 gibt GP1234-Rubber Duck oder GP1234-Invalid Code zurück). Das Problem, das ich habe, ist, dass meine Benutzer, die AutoComplete aktiv haben, eine Liste der zuvor verwendeten Codes erhalten. Wenn sie einen der Codes in der Liste verwenden, werden die Daten eingegeben, aber es wird kein Ereignis ausgelöst, um die Seite zur Überprüfung der Daten zu leiten. Ich habe OnChasnge, OnBlur und OnMouseOut versucht.
Irgendwelche Vorschläge?Die "Autocomplete" -Funktion von Internet Explorer löst keine JavaScript-Ereignisse aus

+0

Haben Sie versucht, den "automatisch verarbeiteten" Daten-Onload zu löschen? So habe ich in der Vergangenheit ähnliche Probleme gelöst. – Jack

Antwort

1

Die Einstellung autocomplete="off" am Eingang verhindert, dass zuvor eingegebene Werte angezeigt werden.

Wenn Sie dies nicht möchten, sind die Ereignisse, nach denen Sie wahrscheinlich suchen, onkeyup (für Pfeil/geben Sie die Optionen ein) und onmouseup (für das Klicken auf die Optionen) Ereignisse.

2

Von Using AutoComplete in HTML Forms auf MSDN:

Um zu bestimmen, wenn ein Benutzer die Updates Inhalt eines Feldes aus dem Auto-Vervollständigen-Dialogfeld verwenden, um die onpropertychange Ereignis statt die onchange Ereignis, weil die onchange Ereignis wird nicht ausgelöst.

Beachten Sie, dass das onpropertychange Ereignis Internet Explorer proprietär ist, so dass Sie immer noch für anderen Browser brauchen Handhabung werden, und dass es nach jedem Tastendruck ausgelöst, so dass es mit dem onchange Ereignisse nicht direkt kompatibel ist.

+1

Ein verspäteter Dankeschön -) –

Verwandte Themen