2009-05-14 4 views
2

J'ai une page .ASP qui utilise l'événement "onChange" pour déclencher une recherche d'informations dans la base de données. (Après la saisie d'un code, le système valide le code et place la description à côté: I.E. GP1234 renvoie GP1234-Rubber Duck ou GP1234-Code invalide). Le problème que j'ai est que mes utilisateurs qui ont la saisie semi-automatique active obtiennent une liste des codes précédemment utilisés présentés. S'ils utilisent un des codes dans la liste, les données sont entrées, mais pas l'événement est déclenché pour diriger la page pour vérifier les données. J'ai essayé OnChasnge, OnBlur et onMouseOut.
Des suggestions?La fonction "Saisie semi-automatique" d'Internet Explorer ne déclenche pas les événements JavaScript

+0

Avez-vous essayé d'effacer le chargement de données "autocompleted"? C'est comme ça que j'ai eu des problèmes similaires dans le passé. – Jack

Répondre

1

Le réglage autocomplete="off" sur l'entrée l'empêchera de présenter les valeurs précédemment saisies. Si vous ne voulez pas faire cela, les événements que vous recherchez sont onkeyup (pour la flèche/entrée sur les options) et onmouseup (pour cliquer sur les options) événements.

2

De Using AutoComplete in HTML Forms sur MSDN:

Pour déterminer lorsqu'un utilisateur met à jour le contenu d'un champ de la boîte de dialogue saisie semi-automatique , utilisez le événement onpropertychange, plutôt que l'événement onchange, parce que le onchange l'événement ne se déclenche pas.

Notez que l'événement onpropertychange est propriétaire à Internet Explorer de sorte que vous aurez toujours besoin de manipulation pour les autres navigateurs, et qu'il se déclenche après chaque pression de touche il est donc pas directement compatible avec l'événement onchange.

+1

Un merci tardif -) –

Questions connexes