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 :

Code ascii des touches directionnelles


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut Code ascii des touches directionnelles
    Bonjour,

    j'ai ecris une fonction javascript , qui ne permet l'ecriture que de certain caractéres, elle capture le code ascii de la touche et en fonction de ce code je fais mon test,

    mon problème se pose dans le cas des fleshes directionnel (haus bas droite gauche ) il sont concidéré comme des caractéres interdits meme si je ne lés mentionne pas parmis ceux ci
    et ce probleme ne se pose que dans le cas de firefox ,sur internet explorer ca marche trés bien

    voici la fonction javascript que j'utilise

    et merci pour votre aide

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    function gestionInterdictionCaractereSpeciaux(evenement,evt,idError){
     
     var tabCodeAsciiCar =		 [1, 2, 3, 4, 5, 6, 7,9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
                    25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,47, 59, 60, 61, 62, 63,
                    64, 91, 92, 93, 94, 95, 96, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138,
                    139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
                    159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
                    179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
                    199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
                    219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
                    239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256 ];
     
    		 var found = false;
    		 var i = 0;
    		 var divErrorMessage = document.getElementById(idError);
    		 var keyCode = evt.which ? evt.which : evt.keyCode;
    		 while( i < tabCodeAsciiCar.length && found == false ) {
     
    		 		 if (keyCode == tabCodeAsciiCar[i] ) {
    		 		   divErrorMessage.style.display="block";
    		 		 	 found = true;
    		 		 		 // blocage de la saisie en fonction du navigateur MSIE ou DOM
    		 		 		 if(evt.which) {
     
    		 		 		 		 evt.returnValue = false;
     
    		 		 		 		 evt.cancelBubble = true;
     
    		 		 		 		evt.preventDefault();
    		 		 		 		evt.stopPropagation();
    		 		 		 } else {
    		 		 		 evt.returnValue = false;
    		 		 		 evt.cancelBubble = true;
     
    		 		 		 }
    		 		 } else {
    		 		 	 divErrorMessage.style.display="none";
    		 		 }    
            i++;
       }
     
    }

  2. #2
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut
    mon probleme vient du faite que sur firefox , il me retourne des valeur pour les fleshes directionnelles identiques a certains caractére du clavier
    par exemple ile me retourne pour la fleshe gauche 37 et c le meme nombre de la touche % , est ce que vous avez une idée comment je pourrais diffrencé entre les touches directionnelles et certains touches qui ont le meme code ascii

  3. #3
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    Novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 206
    Points : 273
    Points
    273
    Par défaut
    On peut voir le code autour ?

  4. #4
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par Caerbannog Voir le message
    On peut voir le code autour ?
    j'ai ecris tout le code de ma fonction javascript en haut, il manque l'appel a la fonction qui est celui ci que je le met a l'interieur de mez zones de texte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    onKeypress='gestionInterdictionCaractereSpeciaux("onKeypress" ,event,"vineErrorBic")'
    et vineErrorBic est la Div où se trouve mon message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <div id="vineErrorBic" style="display:none;color:red">caractere interdit</div>

  5. #5
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    J'ai déja posté plusiers fois sur ce forum un code complet crossbrowser qui permet de capter le code de toutes les touches ....
    Une recherche s'impose ...

  6. #6
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    J'ai déja posté plusiers fois sur ce forum un code complet crossbrowser qui permet de capter le code de toutes les touches ....
    Une recherche s'impose ...
    j'avoue que meme avec une recherche j'arrive pas a trouvé le bon poste

  7. #7
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut
    c'est bon les amis j'ai trouvé une solution pour mon probleme , voici la reponse pour les interessés
    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
     
    function gestionInterdictionCaractereSpeciaux(evt,divError) {
     var divErrorMessage = document.getElementById(divError);
    	var keyCode = evt.which ? evt.which : evt.keyCode;
    	//alert(evt.which);
    	var interdit = '@àâäãçéèêëìîïòôöõùûüñÀÁÂÃÄÅÒÓÔÕÖØÈÉÊËÇÌÍÎÏÙÚÛÜÑ+&*?=µ!;_\t#~"^¨%$£?²¤§%*()[]{}<>|\\/`\'';
    	if ( evt.which==0x00)
    	{
    		ivErrorMessage.style.display="none";
    	}else{
    		if (interdit.indexOf(String.fromCharCode(keyCode)) > 0) {
                    divErrorMessage.style.display="block";
    			return false;
    		}else{
                divErrorMessage.style.display="none";
     
                    }
    	}
     
    }
    et voici un petit test pour l'appel de la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <form>
     
    	<legend>Nombre :</legend>
    	<div id="vineErrorBic" style="display:none;color:red">caractere interdit</div>
    	<input type="text" name="nom" value="" size="48" maxlength="50" onKeypress="return gestionInterdictionCaractereSpeciaux(event,'vineErrorBic');">
     
    </form>
    et merci pour votre aide

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

Discussions similaires

  1. [Débutant] Recherche de code ASCII des touches Alt et Shift
    Par JetLibre dans le forum VB.NET
    Réponses: 7
    Dernier message: 12/04/2013, 14h15
  2. Codes ASCII des fleches directionelles?
    Par H-raf dans le forum C
    Réponses: 15
    Dernier message: 30/05/2008, 10h28
  3. Petit utilitaire pour retrouver les codes ascii des fontes
    Par ProgElecT dans le forum Vos contributions VB6
    Réponses: 0
    Dernier message: 26/07/2007, 22h52
  4. code virtuel des touches
    Par alex01pernot dans le forum Delphi
    Réponses: 1
    Dernier message: 27/07/2006, 08h52
  5. Codes étendus des flèches directionnelles
    Par coca dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 11/12/2002, 17h10

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