2010-11-30 3 views
1

Je valide un champ en utilisant OnKeyUp. Malheureusement, il ne fonctionne pas lorsque l'utilisateur sélectionne une suggestion de saisie semi-automatique dans son navigateur.Onkeyup d'entrée peut être évité par l'auto-complétion de formulaire

Je voudrais savoir s'il y a moyen de déclencher mon JavaScript lorsque l'utilisateur clique dans les suggestions de saisie du navigateur.

+1

La meilleure solution, garder autocomplete désactivé, et utiliser la valeur d'origine de ... – Vishwanath

Répondre

0

Une des options que vous pourriez prendre seraient déclencher des événements en utilisant le modèle d'événement personnalisé par YUI http://developer.yahoo.com/yui/event/#customevent

En faisant cela, vous pouvez explicitement feu/déclencheur la façon dont bon vous semble

+0

textbox je ne pense pas que cette adresse sa question . il n'a aucun moyen de savoir quand déclencher explicitement le déclencheur, car rien dans JS ne lui dit que l'utilisateur a cliqué sur une suggestion de saisie semi-automatique. – Kip

2

Pour IE, vous peut écouter onpropertychange. Pour FF/Chrome, vous pouvez écouter oninput. IE9 supporte oninput si vous n'êtes pas en mode quirks, vous aurez peut-être besoin d'un code de détection de navigateur ou de détection de fonction pour éviter que l'événement ne se déclenche deux fois.

Here is a working JSFiddle. Vous devrez entrer une valeur et la soumettre une fois pour qu'elle apparaisse dans l'historique de saisie semi-automatique de votre navigateur. Ensuite, vous verrez quel événement il déclenche lorsque vous cliquez sur la suggestion de saisie semi-automatique.

Une autre option est de désactiver entièrement saisie semi-automatique pour un champ d'entrée donné:

<input type="text" name="myfield" id="myfield" autocomplete="off" /> 
Questions connexes