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 :

Calculer une somme dans un tableau


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Points : 55
    Points
    55
    Par défaut Calculer une somme dans un tableau
    Bonjour,
    Débutant en JavaScript, j’essai de calculer une somme d’un tableau :

    Voici mon code :

    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
     
    Array().prototype.sum = function calcul()
    {
    	sum = 0;	
    	var variable = Number(document.form1.elements['prixvehi[]'].value);	
    	for(var x=0; variable>x; ++x)
    		{		
    		if (!isNaN(Number(this[x])))
    			{		
    			sum = Number(this[x]) + sum;	
    			}		
    		}
    	return sum;
    	document.form1.tototransport.value = sum ; 
    }
    Comment calculer la somme d’un tableau ?

  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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    sans le html correspondant...pas facile ...

    tu as un form avec des input text ...

    sinon dans l'absolu avec un simple array

    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
    <script type="text/javascript">
     
    Array.prototype.sum = function calcul()
    {
    	sum = 0;	
    	for(i=0;i<this.length; i++)
    		{		
    		if (!isNaN(Number(this[i])))
    			{		
    			sum += Number(this[i]);	
    			}		
    		}
    	return sum;
    }
     var tableau = new Array(1,56,8,6,5,4,7,8,2,3,2);
     alert (tableau.sum())
     
    </script>

  3. #3
    Membre du Club Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    En faite,
    J'ai un tableau en PHP, mes inputs sont sous cette forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="prixvehi[]" value="<?php echo $tabv['prix']; ?>" />
    pour executer le script , j'utilise onload :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body   onload="chargevaleurdefaut();calcul()">
    Je recupère une seule valeur avec ma variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var vartototrans = Number(document.form1.elements['prixvehi[]'].value);
    Comment passe t'ont un array en javascript quand les valeur sont en PHP ?
    j'ai essayé :

    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
    function calcul()
    {
    var vartototrans = Number(document.form1.elements['prixvehi[]'].value);
     
    Array.prototype.sum = function somme()
    {
    	sum = 0;	
    	for(i=0;i<this.length; i++)
    		{		
    		if (!isNaN(Number(this[i])))
    			{		
    			sum += Number(this[i]);	
    			}		
    		}
    	return sum;
    }
     
     var tableau = new Array(vartototrans);
     alert (tableau.sum())
     
    }

  4. #4
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    puisque les valeurs à sommer sont dans un <form>, et que visiblement c'est pour l'envoyer au serveur que tu fais cette somme, pourquoi ne fais-tu pas ça sur le serveur (en PHP, donc) ?

    A+

  5. #5
    Membre du Club Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Afin d'avoir le résultat directement lors d'une éventuelle modification.

  6. #6
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Arf !
    J'avais mal lu
    Comment passe t'ont un array en javascript quand les valeur sont en PHP ?

  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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    soit tu rediges ton array javascritp avec php ou dans le onload tu boucles sur les elements :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var TabElts = document.forms['form1'].elements['prixvehi[]'];
    var MonArray=new Array();
     
    for (i=0;i<TabElts.length;i++){
        MonArray.push(TabElts[i].value)
    }
     
    alert(MonArray.sum())

  8. #8
    Membre du Club Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Merci, ça marche du tonnerre
    Je met le code javascript , ça ne mange pas de pain et ça peu aider pour ceux qui auront le même problème:


    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
    function calcmult()
    {
    	/******************prototype de calcul somme ****************************/
    	Array.prototype.sum = function somme()
    	{
    		sum = 0;	
    		for(i=0;i<this.length; i++)
    			{		
    			if (!isNaN(Number(this[i])))
    				{		
    				sum += Number(this[i]);	
    				}		
    			}
    		return sum;
    	}	
    	/******************resultat de calcul somme ****************************/
    	var TabElts = document.forms['form1'].elements['mtfact[]'];
    	var MonArray = new Array();
     
    	for (i=0;i<TabElts.length;i++)
    	{
    		MonArray.push(TabElts[i].value)
    	}
    	alert(MonArray.sum());
    }

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

Discussions similaires

  1. Calcul d'une somme dans un tableau
    Par vinketi97 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2014, 09h42
  2. Calcul de somme dans un tableau
    Par kimblue77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/01/2011, 12h03
  3. [XL-2007] option boutton: comment calculer une somme dans un tableau
    Par Malek713 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/10/2010, 17h05
  4. Poucentage d'une somme dans un tableau croisé
    Par leloup84 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 07/04/2008, 12h33
  5. [VB.NET]Calculer une somme dans un DataGridView
    Par pat59 dans le forum Windows Forms
    Réponses: 17
    Dernier message: 09/11/2006, 15h36

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