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 :

Formatage de nombres dans une page JSP


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Formatage de nombres dans une page JSP
    Au cours de la saisie dans une page JSP, je veux formater un champ dès que je le quitte, exemple :
    quand je tape 1500 et que je passe à un autre champ, je veux que le montant devienne : 1 500 (avec un séparateur de milliers)
    Y a-t-il un code Javascript pour le faire ?
    le maximum de détails serait for apprécié, je suis pas un expert dans le domaine !

  2. #2
    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 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    premier point l'evenement à utiliser serait onblur dasn lequel tu devras lancer ta focntion de formattage ...
    je ne connais pas d'instruction javascript pour le faire directement, je pense qu'il te faudra passer par un petit script
    la saisie sera uniquement des entiers ? des décimaux ...

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Merci pour ta réponse, mais cette première phase je la connais déjà
    ce qui me reste c'est le script qui me permetera le formatage du montant

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par SpaceFrog
    premier point l'evenement à utiliser serait onblur dasn lequel tu devras lancer ta focntion de formattage ...
    + onfocus pour enlever le formattage si l'utilisateur revient changer le montant qu'il avait déjà enlevé.

    + onsubmit du formulaire pour virer tout le formattage au moment de soummettre le formulaire (sinon, bonjour le parsing coté serveur).

    Enfin, juste mes deux centimes

  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 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    voici un premier jet sans décimlaes et sans test numérique ...

    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
    <script type='text/javascript'>
     
    function formatte(valeur){
    var valeurformate =new Array()
    valeur=valeur.split('').reverse()
    var i=0
    while(i<valeur.length){
     
     valeurformate.push( (valeur[i+2]?valeur[i+2]:'') + (valeur[i+1]?valeur[i+1]:'') + valeur[i] );
     i=i+3;
     
    }
    valeurformate=valeurformate.reverse().join(' ')
     
    alert(valeurformate)
    }
    </script>
     
    </head>
     
    <body>
    <input type='text' onblur='formatte(this.value)' />
     
    </body>

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Merci SpaceFrog pour le code
    Je l'ai essayé et ça marche, sauf que j'ai besoin de qq améliorations si possible :

    1) Quand je fais un premier passage sur mon champ, le résultat est bien formaté, mais qud je fais un deuxième passage sur le même champ, il le reformate et donc les espaces sont considérés comme des chiffres ! donc 125000 devient 125 000 (après une 1ère tabulation) puis 1 25 000 (après une deuxième tabulation !)
    donc je demande comment éliminer les espaces dans l'étap du split ?

    2) Comment prendre en charge le formatage des nombres à décimal.
    Merci d'avance

    Remarque : je n'oublierai pas ton conseil "Tag Résolu" dès que c'est le cas

  7. #7
    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 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    en bidouillant un peu ...
    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
     
    <script type='text/javascript'>
     
    function formatte(valeur){
    if (isNaN(valeur.split(' ').join(''))){alert('numérique svp');
                       return false;}
     
    var valeurformate =new Array()
    var tempval=valeur.split('.')
    valeur=tempval[0].split(' ').join('')
     
     
    valeur=valeur.split('').reverse() 
     
    var i=0
    while(i<valeur.length){
     
     valeurformate.push( (valeur[i+2]?valeur[i+2]:'') + (valeur[i+1]?valeur[i+1]:'') + valeur[i] );
     i=i+3;
    }
     
     
    valeurformate=valeurformate.reverse().join(' ') +'.'+( tempval[1]?tempval[1]:'');
     
    document.getElementById('moninput').value=valeurformate
    }
     
     
    </script>

  8. #8
    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 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    voire même:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeurformate=valeurformate.reverse().join(' ') +( tempval[1]?tempval[1].length>0?'.'+tempval[1]:'':'');

  9. #9
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Addouna
    Merci SpaceFrog pour le code
    Je l'ai essayé et ça marche, sauf que j'ai besoin de qq améliorations si possible :
    C'était à peu près l'objet de mes remarques

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Merci denisC et SpaceFrog,
    Vos réponses et remarques m'ont servi à résoudre mes problèmes.
    A bien tôt.

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

Discussions similaires

  1. [Sécurité] comment récupérer le subject dans une page jsp?
    Par lalakers dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 13/07/2005, 11h42
  2. [debutant] rajouter un applet dans une page JSP
    Par mlequim dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/07/2005, 14h50
  3. inserer une page php externe dans une page JSP
    Par vrossi59 dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 05/07/2005, 16h25
  4. [XML][XSL][Mozilla Firefox] Integraton dans une page JSP
    Par BANATACH dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 05/08/2004, 14h46
  5. [Debutant(e)]Appel d'une servlet dans une page jsp
    Par kouadjalain dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 20/07/2004, 15h02

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