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 du Club
    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
    Points : 56
    Points
    56
    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
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    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>
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    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>
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    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>
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → 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