Le déplacement d'un focus lorsque le champ de texte de saisie atteint une longueur max

J'ai un numéro de carte de crédit formulaire. Le nombre est divisé en quatre parties comme sur une vraie carte de crédit.

Je veux ajouter un JavaScript goût pour la forme, où, quand un utilisateur tape quatre lettres dans un champ, le focus passe automatiquement à la prochaine balise. Mais pas dans la dernière balise. En faisant cela, un utilisateur de ne pas avoir à taper la touche de tabulation pour déplacer l'accent.

Il est d'accord pour ajouter un peu de classe supplémentaire, l'id ou le nom dans les balises.

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>MoveFocus</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript" charset="utf-8">
     $(function() {
     //some code goes here.
    });
    </script>
</head>


<body>
  <form action="post.php" method="post" accept-charset="utf-8">
    <input type="text" value="" id="first" size="4" maxlength="4"/> -
    <input type="text" value="" id="second" size="4" maxlength="4"/> -
    <input type="text" value="" id="third" size="4" maxlength="4"/> -
    <input type="text" value="" id="fourth" size="4" maxlength="4"/>
    <p><input type="submit" value="Send Credit Card"></p>
  </form>
</body>
</html>
  • ... bien sûr, certains utilisateurs de va appuyez sur la touche tab, et miss champs out. Ne pas diviser le terrain en place, il suffit d'utiliser un seul champ. Cela rend les choses beaucoup plus facile pour les utilisateurs (et c'est ce que tous les autres sites web, il n').
  • Non pas que je suis à chaque utilisateur, mais je déteste les sites qui font cela avec téléphone, CC et SS numéros. Je préfère de beaucoup de sites qui interprètent la prochaine pression de touche comme aller à la zone suivante et en la tapant. Dans votre cas, attendez que le cinquième de pression de touche, si c'est un nombre, déplacer le focus à la zone suivante et définissez le premier caractère du numéro choisi. Si c'est une touche de flèche droite, passer à la zone suivante et de ne pas définir d'caractères. Juste mon avis sur la facilité d'utilisation.
  • Oh, et si l'utilisateur fait une erreur dans le dernier caractère dans toute la boîte, ils veulent probablement leur touche de retour arrière pour continuer à fonctionner.
  • Il doit y avoir une Coalition Contre la mise au point Automatique et la Tabulation.. certains de ces UI sont TROP intelligents et obtenir de la manière de l'utilisation normale
InformationsquelleAutor TK. | 2009-12-24