En mettant l'accent sur une zone de texte dans l'événement onchange
J'essaye de faire en sorte que lorsqu'une certaine valeur est mis dans une zone de texte, l'accent sera rester sur la zone de texte(et une alerte sera affichée dans la production). Je suis en train d'essayer d'obtenir que cela fonctionne dans Firefox 3.5.7 avec pas de chance.
Comment puis-je faire lorsqu'une zone de texte est d'une certaine valeur à onchange
qu'il va rester concentré/recentrer sur la zone de texte?
Exemple vivant est à http://jsbin.com/ipina
<body>
Enter your name: <input type="text" name="fname" id="fname" onchange="
if(this.value=='foo'){
this.select();
this.focus();
}
" />
</body>
Aussi, je ne reçois pas le code javascript des erreurs ou des avertissements dans la Console d'Erreur lors de l'exécution de ce code.
- Êtes-vous essayer à force de se concentrer pour rester sur la zone de texte? N'aurait-il pas le focus lorsque l'utilisateur est en train de changer cela?
- Non, l'événement onchange ne sera pas appelé(dans firefox et IE pour les zones de texte) jusqu'à ce que le contrôle perd le focus
Vous devez vous connecter pour publier un commentaire.
Lorsque le
onchange
événement est déclenché, l'utilisateur est concentré sur la zone de texte.Peut-être que vous pourriez vouloir utiliser la
blur
cas de re-concentrer sur la zone de texte si la valeur est 'foo'.Si vous avez besoin de résultats immédiats, vous devez utiliser
onkeyup
.Selon Javascript onchange différents dans IE et FireFox je devais définir le focus après l'événement onchange se produit, je devais donc me retrouver avec quelque chose comme ceci:
Et aussi, j'ai eu l'attraper quand la discussion a été perdue, pas nécessairement quand le texte a été modifié, de sorte que j'ai dû utiliser onblur au lieu de onchange.
Live: http://jsbin.com/ofeva