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 :

Virgule et formulaire


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut Virgule et formulaire
    Salut

    Voilà un ptit coup de main serait le bienvenue sur le script suivant que j'ai récupéré sur ce forum mais j'aurais besoin de quelques infos, donc si ça vous dit :

    Script > Remplacement d'une virgule par un point dans un nombre décimal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script type="text/javascript" >
    function virgule(texte) {
       while(texte.indexOf(',')>-1){
        texte=texte.replace(",",".");
    	}
     
         return texte
    }
    var tester ="ggg,,dsf;,zer,zear,,zeanr,zerz"
    alert(virgule(tester))
    </script>
    Première chose, je voudrais être sûr que ce script remplace bien une virgule par un point, si jamais l'utilisateur a rentré une virgule. Sil l'utilisateur a saisi un point, le point est conservé.
    C'est bien ça ?

    2e petit détail, je ne vois pas comment appeler ce script

    Pour l'instant, j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="formpatient" action="ttnewpatient.php" method="post" onsubmit="virgule('iah_pat','me_pat');return document.MM_returnValue">
    Sachant que iah_pat et me_pat sont le nom des 2 champs à contrôler.

    Une petite idée ?

    Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    La fonction que tu nous montre ne prend qu'un argument mais tu lui en envoies deux...
    Solution possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="virgule('iah_pat'+'_'+'me_pat');
    et tu n'as plus qu'à séparer le résulat pour retrouver tes deux valeurs.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut
    Merci Bovino Désolé je suis pas au top en Javascript

    J'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="formpatient" action="ttnewpatient.php" method="post" onsubmit="virgule('iah_pat'+'_'+'me_pat');" >
    Mais au chargement de la page j'ai un message :

    "ggg,,dsf;,zer,zear,,zeanr,zerz"

    Une idée ?

    Merci

  4. #4
    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 une méthode d'exemple que tu peux adapter assez facilement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	function checkVirgule(maValeur){
    		maValeur = "ggg,,dsf;,zer,zear,,zeanr,zerz";
    		maValeur = maValeur.replace(/,/gi,'.');
    		alert(maValeur);
     
    	}
    	checkVirgule("maValeur");//appel pour tester

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut
    Merci,

    Ca me donne toujours l'affichage d'un message à la validation du formulaire :

    "ggg,,dsf;,zer,zear,,zeanr,zerz"

    J'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function checkVirgule(maValeur){
    		maValeur = "ggg,,dsf;,zer,zear,,zeanr,zerz";
    		maValeur = maValeur.replace(/,/gi,'.');
    		alert(maValeur);
     
    	}
    pour :

    <form name="formpatient" action="ttnewpatient.php" method="post" onsubmit="checkVirgule('iah_pat'+'_'+'me_pat');" >

    Comprends pas ! Ca peut venir de quoi ???

    Merci

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    T'es sûr que ça te donne :
    ggg,,dsf;,zer,zear,,zeanr,zerz
    et pas
    ggg..dsf;.zer.zear..zeanr.zerz

  7. #7
    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
    effectivement , a mon avis tu ne dois pas appeler la bonne méthode, tu n'aurais pas plusieurs checkVirgule() dans ta page ?

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    >> le_chomeur :
    Ben si il a recopié ton code, c'est sûr que :
    - Au chargement de la page, il aura un alert de : ggg..dsf;.zer.zear..zeanr.zerz
    - Puis à chaque appel de la fonction, le même alert...

    Pour rappel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function checkVirgule(maValeur){
    		maValeur = "ggg,,dsf;,zer,zear,,zeanr,zerz";
    		maValeur = maValeur.replace(/,/gi,'.');
    		alert(maValeur);
     
    	}
    	checkVirgule("maValeur");//appel pour tester
    Le code que tu as fourni...
    Moi ce qui m'inquiète, c'est s'il affiche réellement :
    ggg,,dsf;,zer,zear,,zeanr,zerz

  9. #9
    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
    je ne comprend pas le sens de ta réponse ...
    ce que je dis c'est que s'il a toujours comme retour "ggg,,dsf;,zer,zear,,zeanr,zerz " c'est qu'il n'appelle pas la bonne méthode ...

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maValeur = "ggg,,dsf;,zer,zear,,zeanr,zerz";
    ça enlève beaucoup de sens à l'argument de la fonction...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut
    Salut ! Désolé de vous embêter, je compte bien me pencher très rapidement sur Javascript mais là j'ai besoin de ça en "urgence".

    En fait j'obtiens :

    ggg..dsf;.zer.zear..zeanr.zerz

    à la validation

    Merci

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Bonne nouvelle !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function checkVirgule(maValeur){
    		maValeur = "ggg,,dsf;,zer,zear,,zeanr,zerz";
    		maValeur = maValeur.replace(/,/gi,'.');
    		alert(maValeur);
     
    	}
    Ici, le_chomeur t'as mis un code pour tester si la fonction marche... et elle marche. Tu n'as plus qu'à virer ce qui n'est pas nécessaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function checkVirgule(maValeur){
    	maValeur = maValeur.replace(/,/gi,'.');
    }
    et tout est bon

    PS : n'oublies pas non plus de sortir la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    checkVirgule("maValeur");//appel pour tester
    après la fonction !

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut
    Merci

    Ca marche MAIS la valeur inséré dans la table ne tient pas compte des deux chiffres après la virgule.

    Alors que si je mets un "." c'est bon

    Encore 2 ptites minutes ?

    Merci

  14. #14
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Désolé, je comprends pas...

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut
    Si je mets 5,23 comme valeur dans mon champs, dans la table c'est 5.00 qui est enregistré alors que si je saisi 5.23 c'est 5.23 qui est enregistré.

  16. #16
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Oui, il faut faire attention à ce que tu fais au submit... là, le onsubmit change-t-il les valeurs du formulaire et si c'est le cas, le fait-il AVANT que l'action du submit soit lancée.
    Pour éviter ce genre de mal de crâne, ce que je te conseille, c'est à la place d'un bouton submit, tu mets un input type="button" et au clic de celui-ci, tu transformes ton champ, tu mets à jour le formulaire, puis tu fais un submit() du formulaire... au moins, tu es sûr.

  17. #17
    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
    as tu mis un retour à ta méthode pour alimenter ton champs ??

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut
    Merci pour les réponses !

    La possibilité de mettre un bouton supplémentaire au bouton submit ne m'attire pas trop !

    Quant à ta question "le chomeur" sur le retour, un petit exemple serait le bienvenue. je vois pas de quoi il s'agit (je pense que je vais devoir sérieusement me pencher sur Javascript)

    Merci

Discussions similaires

  1. [XL-2003] probleme comprehension entre virgule et point dans un formulaire
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/03/2010, 07h12
  2. Déplacement de la virgule dans des formulaires
    Par Socki dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 04/05/2009, 10h45
  3. Réponses: 2
    Dernier message: 17/11/2008, 21h47
  4. formulaire et nombre à virgule
    Par penguin50 dans le forum Ruby on Rails
    Réponses: 7
    Dernier message: 06/03/2008, 16h04
  5. Chiffre a Virgule Fixe
    Par garybaldi dans le forum C
    Réponses: 3
    Dernier message: 21/06/2002, 10h41

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