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 :

changement de la valeur de la touche saisie


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 1
    Points
    1
    Par défaut changement de la valeur de la touche saisie
    Bonjour,

    Je souhaite modifié la valeur de la touche saisie dans certain cas (remplacer le point par une virgule).

    Pour IE, le code suivant fonctionne très bien:
    En revanche pour Firefox, j'ai essayé les deux manières suivantes:
    Dans les deux cas j'obtiens un message d'erreur qui me dit qu'il n'y a pas de getter associé.

    Comment faire pour contourner ce problème, et pouvoir changer la valeur contenu dans event.which?

    Merci d'avance de votre aide!

  2. #2
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    event.keyCode = 44

  3. #3
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Est-ce que tu passes bien ta variable event en paramètre à ta fonction ?
    window.event ne fonctionne pas sous FF

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par linar009
    Est-ce que tu passes bien ta variable event en paramètre à ta fonction ?
    window.event ne fonctionne pas sous FF
    Oui ma variable event est bien passée en paramètre, ma fonction est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function setKeyCode(event, keyCode) {
    	if (estMSIE()) {
    		event.keyCode = keyCode;
    	} else {
    		???
    	}
    }

  5. #5
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Je ne sais pas essaie : event.keyCode = parseInt(keyCode);

  6. #6
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Au fait, elle te sert à quoi cette fonction ?

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par linar009
    Je ne sais pas essaie : event.keyCode = parseInt(keyCode);
    J'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    event.keyCode = parseInt(keyCode);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    event.which= parseInt(keyCode);
    Dans les deux cas le message d'erreur est le suivant:
    setting a property that has only a getter

    La fonction permet de changer la valeur du caractère saisie. Pour l'instant je souhaite juste remplacer les points par des virgules, mais j'en aurais besoin pour d'autres cas plus tard.

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    up, j'ai toujours pas trouvé

  9. #9
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    La méthode keyCode de event est une méthode read-only...
    Tu ne peux pas lui affecter une valeur.
    Mais pourquoi veux tu changer la valeur de keyCode ?

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par linar009
    La méthode keyCode de event est une méthode read-only...
    Tu ne peux pas lui affecter une valeur.
    Mais pourquoi veux tu changer la valeur de keyCode ?
    Je souhaite changer la valeur de keyCode pour transformer les points en virgule (il s'agit d'un champ contenant un nombre décimal), ce qui est nécessaire pour les traitements que je fait ensuite.

    Pour l'instant je change le point en virgule sur le onBlur mais je préfererais que l'on ne puisse pas saisir du tout de point!

  11. #11
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Ben tu fais un test sur ton keyCode avec un onKeyUp...
    Si le caractère saisi est un point, tu le transforme aussitôt en virgule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    onKeyUp='verif(event);'
     
    function verif(e) {
    if (e.keyCode == //code ASCII correspondant au point ) {
       var champ = document.getElementById('ton_input');
        champ.value = champ.value.substr(0,champ.value.length - 1) + ",";
    }
    Un truc dans le genre

  12. #12
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Ou même carrément un champ.value.replace(".",",")

Discussions similaires

  1. onKeyPress : changement de la valeur d'une touche
    Par matperino dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/10/2008, 11h41
  2. [DOM] valeurs de zone de saisie dynamique
    Par arti2004 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/06/2007, 17h49
  3. [PHP-JS] Quelle valeur prend la touche "entrée"
    Par tiyolx dans le forum Langage
    Réponses: 3
    Dernier message: 19/04/2007, 12h03
  4. Réponses: 3
    Dernier message: 02/11/2005, 18h03
  5. changement de la valeur d'une variable
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 27/09/2005, 09h50

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