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 :

Gestion touche tabulation


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 242
    Par défaut Gestion touche tabulation
    Bonjour;

    j'avais une probleme avec le touche tabulation en passer d'Input vers autre , je vais executer un code de java script en cliquant en touche tabulation, mais l'orsque je mettre la condition( event.keyCode == 9 ), rien ne se passe
    il y a t'il une methode pour eviter cette probleme.

    Merci.

    ridha

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Salut

    Peut être que
    Code html : 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
    <!DOCTYPE html>
    <html>
    	<body>
    		<input type="text" size="40" onkeydown="myFunction(event)">
    		<p id="demo"></p>
     
    		<script>
                            function myFunction(event) {
                                    var msg = "";
                                    event.preventDefault();
                                    if (event.shiftKey===true) {
                                            if (event.key!=="Shift"){msg = ", touche shift enfoncée, ";}
                                    }
                            document.getElementById("demo").innerHTML = "Key = " + event.key + msg;
                    }
                    </script>
    	</body>
    </html>
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Pour être plus complet (cela me fera un mémo)
    Code html : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <!DOCTYPE html>
    <html lang="fr"> <!-- ABaseHTML.html -->
     
    	<head>
    		<meta http-equiv="content-type" content="text/html"; charset="utf-8"/>
    		<meta name="viewport" content="width=device-width, initial-scale=1.0">
    		<title>Démo tabulation</title>
    	</head> 
    	<body>
     
    	<p>Essayez la tabulation entre ces 3 inputs.</p>
    	<input type="text" id="in1" size="40" onkeydown="myFunction(this,event)" onfocus="PrendFocus(this)" onblur="PerdFocus(this)">
    	<input type="text" id="in2" size="40" onkeydown="myFunction(this,event)" onfocus="PrendFocus(this)" onblur="PerdFocus(this)">
    	<input type="text" id="in3" size="40" onkeydown="myFunction(this,event)" onfocus="PrendFocus(this)" onblur="PerdFocus(this)">
     
    	<script>
     
                    function myFunction(obj,event) {
                            if (event.key==="Tab"){                         
                                    event.preventDefault();
                                    if (event.shiftKey===true) {//Tabulation AVEC le shift
                                            switch (obj.id) 
                                            {
                                                    case "in1":document.getElementById("in3").focus();break;
                                                    case "in2":document.getElementById("in1").focus();break;
                                                    case "in3":document.getElementById("in2").focus();
                                            }               
                                    }
                                    if (event.shiftKey===false) {//Tabulation SANS le shift
                                            switch (obj.id) 
                                            {
                                                    case "in1":document.getElementById("in2").focus();break;
                                                    case "in2":document.getElementById("in3").focus();break;
                                                    case "in3":document.getElementById("in1").focus();
                                            }               
                                    }
                            }
                    }
                    //----------------------------- Colorisation ou non des input suivant le focus ----------------------------
                    function PrendFocus(el) {el.style.backgroundColor = "#ccffcc";return;}
                    function PerdFocus(el) {el.style.backgroundColor = "White";return;}
                    document.getElementById("in1").focus();
            </script>
     
    	</body>
    </html>
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Salut

    Une dernière version, pas besoin de retoucher la partie JavaScript si vous ajoutez un ou plusieurs <input type="text"> dans la partie HTLM du code
    Code html : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <!DOCTYPE html>
    <html lang="fr"> <!-- ABaseHTML.html -->
     
    	<head>
    		<meta http-equiv="content-type" content="text/html"; charset="utf-8"/>
    		<meta name="viewport" content="width=device-width, initial-scale=1.0">
    		<title>Démo tabulation</title>
    	</head> 
    	<body>
     
    		<p>Essayez la tabulation entre ces 3 inputs.</p>
    		<input type="text" id="in1" data-Num="1" size="40" onkeydown="myFunction(this,event)" onfocus="PrendFocus(this)" onblur="PerdFocus(this)">
    		<input type="text" id="in2" data-Num="2" size="40" onkeydown="myFunction(this,event)" onfocus="PrendFocus(this)" onblur="PerdFocus(this)">
    		<br />
    		<input type="text" id="in3" data-Num="3" size="40" onkeydown="myFunction(this,event)" onfocus="PrendFocus(this)" onblur="PerdFocus(this)">
    		<input type="text" id="in4" data-Num="4" size="40" onkeydown="myFunction(this,event)" onfocus="PrendFocus(this)" onblur="PerdFocus(this)">
    		<br />
    		<input type="text" id="in5" data-Num="5" size="40" onkeydown="myFunction(this,event)" onfocus="PrendFocus(this)" onblur="PerdFocus(this)">
    		<input type="text" id="in6" data-Num="6" size="40" onkeydown="myFunction(this,event)" onfocus="PrendFocus(this)" onblur="PerdFocus(this)">
    		<script>
     
                            function myFunction(el,event) {
                                    if (event.key==="Tab"){                         
                                            event.preventDefault();
                                            let NumInput = Number(el.getAttribute("data-Num")); // Numero de l'input qui à déclenché l'événement
                                            let NbrInput = document.getElementsByTagName("input").length; // nombre d'éléments <input type="text"
                                            if (event.shiftKey) {//Tabulation AVEC le shift
                                                    NumInput = (NumInput !== 1)?NumInput - 1:NbrInput;
                                            }
                                            if (!event.shiftKey) {//Tabulation SANS le shift
                                                    NumInput = (NumInput !== NbrInput)?NumInput + 1:1;
                                            }
                                            document.getElementById("in"+NumInput).focus();
                                    }
                            }
                            //----------------------------- Colorisation ou non des input suivant le focus ----------------------------
                            function PrendFocus(el) {el.style.backgroundColor = "#ccffcc";return;}
                            function PerdFocus(el) {el.style.backgroundColor = "White";return;}
                            // donne le focus au 1er input à l'ouverture de la page
                            document.getElementById("in1").focus();
                    </script>
     
    	</body>
    </html>
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/10/2007, 15h16
  2. Gestion des Tabulations avec un PropertySheet
    Par vanitom dans le forum MFC
    Réponses: 3
    Dernier message: 11/09/2006, 11h09
  3. Touche tabulation et focus
    Par Pico10 dans le forum Windows
    Réponses: 2
    Dernier message: 27/03/2006, 15h26
  4. Controler les actions de la touche tabulation
    Par lipao17 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 16/12/2005, 15h52
  5. Gestion touches au clavier...
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/10/2005, 16h48

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