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 :

Calcul total = prix * quantité


Sujet :

JavaScript

  1. #21
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut [Résolu] Calcul total = prix * quantité
    Enfaite, j'ai trouvé la solution.
    Ça vient comme je l'imaginé de cette foutu boucle
    C'est un ami jparia d'un autre forum qui me le fait remarqué.

    Je poste le script au cas ou ça sert a quelqu'un d'autre.
    Apparemment l'ancienne boucle (for) demande trop de ressource.
    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
     
    function add_me(){
      var a = 0;
      var b = 0;
      var c = 0;
      var i = 1;
     
      while ( document.getElementById("qte1_" + i) ){
        a = parseFloat(document.getElementById("qte1_" + i).value);
        b = parseFloat(document.getElementById("prixu_" + i).value);
        a = Math.round(a) * Math.round(b);
        c = c + a;
        i++;
      }
      document.getElementById("total").value = c.toString();
    }
    Un grand merci a vous deux NoSmoking, SpaceFrog

  2. #22
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 126
    Points : 44 922
    Points
    44 922
    Par défaut
    Citation Envoyé par kof_eve Voir le message
    Enfaite, j'ai trouvé la solution.
    Ça vient comme je l'imaginé de cette foutu boucle
    ....
    ....
    Apparemment l'ancienne boucle (for) demande trop de ressource.
    que NENNI, pas du tout, problème de condition de fin de boucle...
    ...dans le code ci dessus comme dans celui que je t'ai proposé, dans mon message précédent, on note que la condition de sortie de boucle se base sur l'existence des éléments.

    C'est cela qui visiblement faisait planter ton script, la condition i <= 300.

    J'ai fait un test rapide avec 1000 INPUT quantité et prix...et cela marche bien, il n'y a pas de problème de ressources, si ce n'est que c'est un peu long....

    Et justement à ce sujet il conviendrait de mettre en mémoire les objets dans un array pour ne pas avoir, à chaque changement de valeur, à faire appel à la méthode document.getElementById.

    cela pourrait donner
    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
    var tElem = [];  // tableau de stockage
    function add(){
      // initialisation la 1st fois
      if( !tElem.length){
        for( i = 1; ( oQte = document.getElementById('qte1_' +i)) && ( oPrix = document.getElementById('prixu_' +i)); i++){
          tElem[i]    = [];
          tElem[i][0] = oQte;
          tElem[i][1] = oPrix;
        }
      }
      // le calcul proprement dit
      var a = b= 0;
      var i, nb = tElem.length;
      for( i = 1;  i < nb; i++){
        a  = tElem[i][0].value * tElem[i][1].value;
        b +=a;
      }
      document.getElementById('total').value = b;
    }
    l'initialisation pourrait d'ailleurs se faire sur le onlaod de la page.

  3. #23
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Oui c'est vrai ca vient du boucle qui plante avec la méthode document.getElementById s'il est vide
    Voila pourquoi il faut passer par une variable ou un tableau
    Votre script marche aussi.
    Un grand merci a vous, bonne journée

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Calcul de prix total
    Par edaone dans le forum Langage
    Réponses: 2
    Dernier message: 23/01/2015, 23h30
  2. Calculer un Prix Total
    Par Nel3030 dans le forum jQuery
    Réponses: 20
    Dernier message: 22/04/2013, 13h41
  3. PRODUIT prix total= prix unitaire * quantité
    Par toutounesan dans le forum Langage SQL
    Réponses: 13
    Dernier message: 24/12/2010, 09h25
  4. Calcul heure par quantité total sur cadence demandé
    Par froutloops62 dans le forum IHM
    Réponses: 27
    Dernier message: 18/10/2007, 23h00
  5. Calcul de prix unitaire moyen
    Par smail21 dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/11/2005, 12h10

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