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 avec input


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de M1000
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Novembre 2003
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 201
    Par défaut addition avec input
    Bonjour,

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
       ttProd = 3;
       //Calcul du total de la commande
       var totalCommande = 0;
       for(x=0;x<ttProd;x++) {
          total_num = 'total_'+ x; //Récup le contenu de mon champ de formulaire
          var totalProd = document.getElementById(total_num).value;
          totalCommande = totalCommande+totalProd;
       }
    cela m'affiche : 020 et non pas 20 ( qui est le résultat de 0+20)

    PS: total_num sont des input type="text"

    Ma question pourquoi je n'ai pas le résultat de 0+20 = 20 et 020 qui s'affiche ?

    Merci.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par M1000 Voir le message
    Ma question pourquoi je n'ai pas le résultat de 0+20 = 20 et 020 qui s'affiche ?
    parce que les .value sont de type caractère pas défaut, et que pour du caractère, le signe "+" représente la concaténation ...
    parseInt() permet de convertire du texte en integer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var totalProd = parseInt(document.getElementById(total_num).value, 10);
    A+

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    ... ceci dit, il faut sortir la déclaration de ta boucle (var total_prod = ...).
    Sinon, multidéclaration

    A+

  4. #4
    Membre confirmé Avatar de M1000
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Novembre 2003
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 201
    Par défaut
    Quand je remplace cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var totalProd = document.getElementById(total_num).value;
    par cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var totalProd = parseInt(document.getElementById(total_num).value, 10);
    j'obtiens un NaN c'est ce que tu voulias dire en sortant ma déclaration de la boucle ? mais comment la sortir sachant que j'en ais besoin dans la boucle ?

    Merci

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
       ttProd = 3;
    var totalProd = 0;
    var LaValeur;
       //Calcul du total de la commande
       var totalCommande = 0;
       for(x=0;x<ttProd;x++) {
          total_num = 'total_'+ x; //Récup le contenu de mon champ de formulaire
          LaValeur = document.getElementById(total_num).value;
          LaValeur = (isNaN(LaValeur))?"0":LaValeur;
          totalProd = parseInt(LaValeur, 10);
          totalCommande = totalCommande+totalProd;
       }
    isNaN = is Not a Number
    A toi d'ajouter un contrôle de saisie pour n'autoriser que des valeurs numériques ...

    A+

  6. #6
    Membre confirmé Avatar de M1000
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Novembre 2003
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 201
    Par défaut
    Je dois avoir du mal mais j'ai tjrs un NaN lorsque je souhaite afficher ce dernier comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById("total").value = totalCommande;

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

Discussions similaires

  1. Pb addition avec valeur NULL
    Par major2 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/03/2006, 15h33
  2. Problème lors de la lecture d'un fichier avec Input...
    Par Kronoob dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 18/11/2005, 18h55
  3. aperçu d image avec input type file marche pas dans ffx
    Par siddh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/11/2005, 09h11
  4. [Debutant] Pb avec input file
    Par chpog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/09/2005, 15h16
  5. Addition avec terme NULL
    Par blackfelix dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/10/2004, 08h53

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