Déplacer le Curseur à côté du Champ de texte en appuyant sur Entrée
J'ai plusieurs champs de texte dans mon formulaire et je veux que lorsque l'utilisateur entre des données dans un champ de texte et appuyez sur entrée que le curseur se déplace vers un autre champ texte qui est à côté de l'actuel champ de texte. J'ai visité quelques question mais n'a pas les trouver utiles.
$("#username").keypress(function (event) {
alert("inside function");
if(event.keyCode == 13) {
textboxes = $("input.username");
debugger;
currentBoxNumber = textboxes.index(this);
if (textboxes[currentBoxNumber + 1] != null) {
nextBox = textboxes[currentBoxNumber + 1];
nextBox.focus();
nextBox.select();
event.preventDefault();
return false;
}
}
});
c'est mon code que j'ai essayé
une autre chose que lorsque les données saisies dans le dernier champ de texte puis, le formulaire se présenter sur la souris, cliquez sur le bouton pas avec enter appuyez sur.
pas de travail, je fatigué 🙁
OriginalL'auteur Engineer | 2014-04-04
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner:
ENTRÉE ne pas déclencher
keypress
dans tous les navigateurs, utilisékeyup
à la place. Également attaché eventlistener à chaqueinput
au lieu d'un wrapper.Une démo en live à jsFiddle.
Votre code avec l'événement de la délégation ont également travailler avec un léger changement:
this
sur la phrase ci-dessus se réfèrent à l'wrapper au lieu de lainput
,event.target
se rapporte à l'élément qui a déclenché l'événement.Une démo en live à jsFiddle.
Retour
false
de la keyup gestionnaire en tout cas de l'ENTRÉE. Veuillez voir le modifier.J'ai juste essayé ce dans Firefox 44.0 sur Linux, et a constaté que la soumission d'un formulaire, il est déclenché sur keydown, ce qui signifie la soumission événement se déclenche avant l'événement keyup faire avancer le focus au champ suivant a une chance de feu. Changer keyup pour keydown résolu le problème. N'ai pas fait d'autre de la croix-navigateur de tester encore.
La doc de
keyup
dit, "Annulable: pas de" et "action par Défaut: none".keydown
a ces propriétés. Donc, ressemble, j'ai choisi un événement incorrect pour cela,keydown
est le seul à utiliser actuellement. Liés violon fonctionne bien, (avec aussi un formulaire) dans FF43 + Win7.Non? Le violon travaille toujours pour moi. Un avis, que le fragment de code utilise jQuery 1.11.0 de l'année 2014 et il n'y a pas de délégation. Dans la délégation cas où vous avez besoin
textboxes.index(event.target)
.OriginalL'auteur Teemu
Essayer ce , dès que vous appuyez sur la touche, il va se déplacer au prochain champ de saisie dans le formulaire, et quand il arrive bouton soumettre soumettre le formulaire
OriginalL'auteur sanjeev
OriginalL'auteur Mohammad Mohsin
OriginalL'auteur vikram venkatesh