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 :

Addition en JavaScript


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Points : 115
    Points
    115
    Par défaut Addition en JavaScript
    Bonjour à tous
    Je tente d' incrémenter une variable avec sa propre valeur (dans une boucle), mais cela ne fonction pas.
    Explication :
    Dans un facturier
    je récupère les valeurs de tout les HT et des ttc pour les additionner.
    le script se déroule (des 'alert' me le prouve) mais ne fait pas ce que je voudrais !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function calcul(nbr)//nbr = nombre de ligne ::ok
    {
    var bcl;
    for (bcl = 1; bcl <= nbr; bcl++) {
    var idht='ht_'+nbr; //re-creation de de la syntax ID   ::ok
    var yht = document.getElementById(idht).value; //recup des valeurs dans les champs HT  ::ok
    var ytotht = Number(); // ça c'est un test.....
    ytotht= ytotht + Number(yht); //c'est la que ça coince :?
    }
    document.getElementById('totHT').value=ytotht;// inscription dans l'input  ::ok (mais uniquement la dernière valeur entrée )
    }
    La variable ytotht de s'auto-incremente pas !!


    Merci de votre aide.
    .

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Bonjour,

    var ytotht = Number(); // ça c'est un test.....
    gné ? un test ??? là tu remets ta valeur à zéro à chaque loop, donc normal que obtiens seulement la dernière valeur à la fin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function calcul(nbr)//nbr = nombre de ligne ::ok
    {
    var ytotht = 0;
    for (var bcl = 1; bcl <= nbr; bcl++) {
    var idht='ht_'+nbr; //re-creation de de la syntax ID   ::ok
    var yht = document.getElementById(idht).value; //recup des valeurs dans les champs HT  ::ok
    ytotht= ytotht + Number(yht); //c'est la que ça coince :?
    }
    document.getElementById('totHT').value=ytotht;// inscription dans l'input  ::ok (mais uniquement la dernière valeur entrée )
    }
    là ça devrait renvoyer la valeur que tu veux

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Points : 115
    Points
    115
    Par défaut
    en fait après maintes essais j'ai rajouté var => ytotht = Number();
    je pensais que ça initialisait la variable en nombre^^
    cela dit ça ne marche tjrs pas, il additionne la dernière entrée:
    exemple: 5 + 2 + 6 = 18 ^^
    parceque => 3 x 6..

    la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ytotht = ytotht + Number(yht);
    ne fait pas le boulot que j’espère...
    Je vais tenter avec un array, mais comme je ne connais pas js, je crains un peu..
    et puis un array pour une chose qui à l'air si simple....

    à moins que tu aies une autre idée ?
    .

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Points : 115
    Points
    115
    Par défaut
    idem avec un array..

    edit:
    j'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     idht='ht_'+nbr;      => PAS BIEN !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     idht='ht_'+bcl;      =>  BIEN !
    Mais j'ai trouvé un autre souci, si je reviens sur l'input 1, le compteur ce remet à 1 et je perd^s le vrai nombre d'input créé...

    merci quand même et à très bien tôt ^^

  5. #5
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Et c'est quoi l'input 1 ? Aussi tu ne nous dis pas comment tu récupères nbr
    Avec la moitié du code, on ne peut pas t'aider...

  6. #6
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu ne serais pas en train d'essayer d'incrémenter et que ce soit visible...
    javascript ne modifiera l'affichage qu'a la fin de la boucle, tu n'auras donc que la dernière valeur.
    Pour laisser le temps à js d'afficher il te faudra passer par un setTimeout ou setInterval ...

  7. #7
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Je te conseille de lire ce post
    http://www.developpez.net/forums/d12...ultiplication/

    il ne s'agit pas d'addition mais de multiplications.
    Il traite tout de même de la problématique des champs de formulaire et des nombres

    A+JYT

Discussions similaires

  1. Aide Addition JavaScript
    Par Energy7 dans le forum Général Java
    Réponses: 2
    Dernier message: 09/12/2011, 14h59
  2. Addition de 3 champs en javascript
    Par loan33 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/12/2010, 14h08
  3. l'addition en javascript
    Par joe370 dans le forum Général JavaScript
    Réponses: 23
    Dernier message: 22/07/2010, 18h53
  4. Afficher le resultat d'une addition de values en javascript
    Par vbnetnet dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/02/2010, 13h29
  5. addition en javascript
    Par mimagyc dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/05/2008, 09h06

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