IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

champs et tabulations


Sujet :

JavaScript

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 43
    Par défaut champs et tabulations
    Bonsoir,

    Un petit problème que je n'ai pas réussi à résoudre cet après-midi.

    Je cherche à faire en sorte que l'utilisateur ne soit pas obligé d'utiliser la tabulation ou sa souris pour remplir les 3 champs d'une date (jour, mois, année). J'ai donc prévu une fonction pour que le focus change dès que 2 caractères sont entrés dans le champ.

    Seulement voilà, je souhaiterais également que dans le cas où l'utilisateur souhaite apporter une modification à ses valeurs (sans tout effacer), ce système soit capable de modifier certaines valeurs seulement, en les sélectionnant.

    Voici ce que j'ai pour le moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <html>
    <head>
    </head>
    <body>
    <script language="Javascript">
    function ChampSuivant(actuel, suivant, limite)
    {
    	if (actuel.value.length == limite) 
    	{
    			suivant.focus();
    	}
    }
    </script>
    <form name="form">
    <input type="text" name="champ1" size=2 maxlength=2 onKeyUp="ChampSuivant(champ1,champ2,2)"> / 
    <input type="text" name="champ2" size=2 maxlength=2 onKeyUp="ChampSuivant(champ2,champ3,2)"> / 
    <input type="text" name="champ3" size=2 maxlength=2 onKeyUp="ChampSuivant(champ3,champ4,2)">
    <br/>
    <input type="text" name="champ4" size=2 maxlength=2 onKeyUp="ChampSuivant(champ4,champ5,2)"> / 
    <input type="text" name="champ5" size=2 maxlength=2 onKeyUp="ChampSuivant(champ5,champ6,2)"> / 
    <input type="text" name="champ6" size=2 maxlength=2>
    </form>
    </body>
    </html>


    Essayez de remplir les champs, et revenez dans le premier champ pour apporter des modifications : le focus "saute" le champ suivant et se place un champ trop loin.

    Quelqu'un saurait-il m'indiquer ce que je fais de mal ? Je ne vois pas la logique qui fait que le focus aille trop loin dans ce cas.

    Merci !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    voir FAQ ou contributions j'y ai proposé un script il y a quelques années ...

    [€dit] FAQ
    http://javascript.developpez.com/faq...js#TexteSuivat
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 43
    Par défaut
    Merci !

    J'ai remplacé focus() par select() pour pouvoir remplacer plus facilement les valeurs.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 43
    Par défaut
    Mmmhhh...

    J'ai le même phénomène avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <html>
    <head>
    </head>
    <body>
    <script language="Javascript">
    function Autotab(box, longueur, texte)
    {
        if (texte.length > longueur-1) {
            document.getElementById('TB'+box).select();
        }
    }
    </script>
    <form name="form">
    <input type="text" name="TB1" id="TB1" size=2 maxlength=2 onKeyUp="Autotab(2, this.size, this.value)"> / 
    <input type="text" name="TB2" id="TB2" size=2 maxlength=2 onKeyUp="Autotab(3, this.size, this.value)"> / 
    <input type="text" name="TB3" id="TB3" size=2 maxlength=2 onKeyUp="Autotab(4, this.size, this.value)">
    <br/>
    <input type="text" name="TB4" id="TB4" size=2 maxlength=2 onKeyUp="Autotab(5, this.size, this.value)"> / 
    <input type="text" name="TB5" id="TB5" size=2 maxlength=2 onKeyUp="Autotab(6, this.size, this.value)"> / 
    <input type="text" name="TB6" id="TB6" size=2 maxlength=2>
    </form>
    </body>
    </html>
    Je ne vois pas ce qui cloche... les tabindex ? Dans l'exemple proposé, ce n'est pas 1/2/3 mais 1/3/2... est-ce là mon erreur ? Si oui, j'ai du mal à comprendre le sens du tabindex "mélangé".

    EDIT : j'ai trouvé la solution, que j'ai postée dans un sujet similaire au mien : http://www.developpez.net/forums/d16...ion-difficile/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] ordre de parcours des champs par tabulation
    Par stagiaire88 dans le forum IHM
    Réponses: 3
    Dernier message: 22/06/2011, 12h10
  2. tabulations : définir ordre des champs
    Par Aurèl90 dans le forum Access
    Réponses: 3
    Dernier message: 06/01/2006, 15h30
  3. "sauter" un champ quand on utilise la tabulation
    Par jisse dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 18/09/2005, 01h42
  4. Réponses: 3
    Dernier message: 15/03/2005, 12h22
  5. tabulation sur champs de saisie
    Par xClyde dans le forum Flash
    Réponses: 2
    Dernier message: 25/09/2003, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo