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 :

Remplacer caractere dans plusieurs inputs


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 48
    Points : 37
    Points
    37
    Par défaut Remplacer caractere dans plusieurs inputs
    Bonjour

    Je suis en stage et j'ai besoin de remplacer toutes les virgules que tape l'utilisateur par des points.

    Seulement je ne sais pas comment faire un replace dans ces elements car je ne connais pas leurs noms (enfin si je les connais mais le calculateur etant sur plusieurs pages j'aimerais generaliser la chose)

    Est ce qu'il est possible de faire ce remplacement simplement ?
    Comment acceder aux elements sur la page sans leurs noms ?
    Comment faire un replace dans cette situation (.replace(/,/, '.') ?) ?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    bonjour,


    pour tous les input sans distinction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var tabInput = document.getElementsByTagName("input");
    var i, n, texte;
     
    n = tabInput.length;
     
    for (i=0;i<n;i++)
    {
      texte = tabInput[i].value;
      texte = texte.replace(/,/g,".");
      tabInput[i].value = texte;
    }

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    voici un exemple simpliste

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans nom</title>
    <script type="text/javascript">
    function noVirgule(element)
    {
    //expression régulière pour remplacer toute les chaines 
      var re=/,/g;
      element.value = element.value.replace(re,".");
    }
     
    </script>
    </head>
     
    <body>
    <input type="text" onkeyup="noVirgule(this)" />
    </body>
    </html>
    pour utiliser ce code sur tout tes champs de type text, il te faut un petit script supplémentaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function checkAllInput(){
    	var listInput = document.getElementsByTagName('input');
     
    	for(var i = 0, l = listInput.length; i < l;i++){
    		if(listInput[i].type == "text"){
    			listInput[i].onkeyup = function (){noNumbers(this);};//noNumbers(listInput[i]);
    		}
    	}
    }
     
    window.onload = checkAllInput;

    ce qui te permettra au final de mettre tes champs comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" value="" name="toto" />
    sans rien ajouter de plus

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 48
    Points : 37
    Points
    37
    Par défaut
    Merci

    Exactement ce qui me fallais, il y a t'il un moyen de limiter ces actions a un seul formulaire ?

    document.nameformulaire.getElementsByTagName('input'); ?

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    oui ^^

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 48
    Points : 37
    Points
    37
    Par défaut
    Je repasse tard mais mais je poste un grand

    Merci !

    Resolu

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

Discussions similaires

  1. Remplacer caractere dans une colonne entiere
    Par guigui69 dans le forum Développement
    Réponses: 2
    Dernier message: 05/11/2012, 09h57
  2. [C#] Comment remplacer caracteres dans une chaine ?
    Par ChristopheOce dans le forum C#
    Réponses: 6
    Dernier message: 07/09/2011, 15h46
  3. Réponses: 17
    Dernier message: 12/04/2005, 15h28
  4. Evenement pour caractere ajouté ou supprimé dans un input ?
    Par Jerem' dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/02/2005, 14h11
  5. remplacer un caractere dans un fichier
    Par ickis dans le forum C
    Réponses: 11
    Dernier message: 13/10/2003, 09h29

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