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 :

Somme de l'ensemble des valeurs d'un tableau


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut Somme de l'ensemble des valeurs d'un tableau
    Bonjour,

    J'ai dans un tableau, des valeurs que voudrait aditionner pour avoir le total.
    J'aimerai que ce calcul se fasse lors du chargement de ma page(don un onLoad). Pourriez vous me dire ce qui ne fonctionne pas dans mon script s'il vous plait.

    Voici mon script:

    function calculercouttotal()
    {
    couttotal=window.document.ficheactiviteform.elements['Couttotal'].value;
    couttotal=0;
    coutElement=window.document.ficheactiviteform.elements['Cout['+0+']'];
    autreCoutElement=window.document.ficheactiviteform.elements['AutreCout['+0+']'];
    for(i=0;coutElement
    {
    couttotal=parseFloat(couttotal) + parseFloat(coutElement.value) + parseFloat(autreCoutElement.value);
    i++;
    autreCoutElement=window.document.ficheactiviteform.elements['AutreCout['+i+']'];
    coutElement=window.document.ficheactiviteform.elements['Cout['+i+']'];

    }
    }

    ......


    <body class="defaulttext" onload="affectercout();calculercouttotal()" bgcolor="#f0f0f0">
    <table border="0" cols="2" width="111%">


    ......


    $ligne.= "<td align='center'><font size='-1'>
    <input name='deplacement[$l]' type='text' value='$nomdep' size='33' align='right'>
    <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement($l)' >
    </font></td>
    <td><INPUT name='KM[$l]' type='text' value='$kmdep' align='right' onChange=\"window.document.ficheactiviteform.elements['Cout[$l]'].value=0.28*window.document.ficheactiviteform.elements['KM[$l]'].value\"></td>
    <td><input name='Cout[$l]' disabled type=text ></td>
    <td><INPUT name='AutreCout[$l]' type='text' value=$autrecout''></
    td> </TR>";

    ........


    <form action="ficheactivite_handler.php" method="post" name="ficheactiviteform">

    .....

    <?php echo $ligne; ?>


    ......


    Cout total:<INPUT name='Couttotal' type='texte' disabled>

    Je vous remercie par avance pour votre aide

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(i=0;i<coutElement.length;i++)
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    ou sa variante (légérement plus rapide, on ne recalcule pas les index à chaque tour)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for(var i = countElement.length - 1; i >=0 ; i--)
    {
    ....
    }
    PS : En français on dix le 10ème élément, mais du côté informatique c'est le 9ème
    puisque le 1er élement pour l'homme est le 0ème élement pour la machine

  4. #4
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut
    Je susi desole ça ne marche toujours pas.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    couttotal=parseFloat(couttotal) + parseFloat(coutElement[i].value) + parseFloat(autreCoutElement[i].value);
    ???
    Mais rien de sûr...
    Il serait préférable de montrer le code html généré (si possible entre balises [code] plutôt que [quote] ) pour que l'on s'y retrouve plus facilement...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    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
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
     
    function ouvrirdeplacement (valeur)
    {
     
      url = "deplacement.php?valeur="+valeur;
     
     
      window.open( url, "Deplacement",
        "width=700,height=300,resizable=yes,scrollbars=yes" );
    }
     
     
    function calculercouttotal()
    {
        couttotal=window.document.ficheactiviteform.elements['Couttotal'].value;
        couttotal=0;
        coutElement=window.document.ficheactiviteform.elements['Cout['+0+']'];
        autreCoutElement=window.document.ficheactiviteform.elements['AutreCout['+0+']'];
        for(i=0;coutElement.length;i++)
        {
           couttotal=parseFloat(couttotal) + parseFloat(coutElement[i].value) + parseFloat(autreCoutElement[i].value);
           autreCoutElement=window.document.ficheactiviteform.elements['AutreCout['+i+']'];
           coutElement=window.document.ficheactiviteform.elements['Cout['+i+']'];
     
        }
    }
     
    function affectercout()
    {
         coutElement=window.document.ficheactiviteform.elements['Cout['+0+']'];
         for(i=0;coutElement;)
         {
             coutElement.value=0.28*window.document.ficheactiviteform.elements['KM['+i+']'].value;
     
             i++;
             coutElement=window.document.ficheactiviteform.elements['Cout['+i+']'];
         }
    }
     
     
    function ouvrir_aide(fichier) {
             parent.parent.frames['droite'].window.location='../popup_aide.php?fichier='+fichier;
       }
    </SCRIPT>
     
     
     
     
     
     
     
     
     
     
     
     
    </style></head><body  class="defaulttext" onload="affectercout();calculercouttotal()" bgcolor="#f0f0f0">
    <table border="0" cols="2" width="111%">
       <tbody><tr>
          <td><h2><font color="#000090">Fiche d'activit&eacute; de r.martin </font></h2> </td>
     
          <td>
             <div align="right">
             <!--3/13/04 vtb ajout de l'aide -->
                <a style="cursor: help;" href="javascript:ouvrir_aide('edit_entry.php')"><img src="edit_entry.php_fichiers/aide.jpg" alt="Aide" border="0"></a>
             </div>
          </td>
       </tr>
     
    </tbody></table>
     
    <input name="submit" type="submit" value="Imprimer">
    <form action="ficheactivite_handler.php" method="post" name="ficheactiviteform">
     
     
    Le cout/km est de : <b> 0.28 €</b>
    <table border="0" cols="3" width="111%">
     
     
     
    <table border="1" cols="3" width="101%">
    <tbody>
     
    <tr>
      <td width="9%"   align="center"><b>Date</b></td>
      <td width="9%"   align="center"><b>Action</b></td>
      <td width="14%"   align="center"><b>Description</b></td>
      <td width="33%"   align="center"><b>D&eacute;placement</b></td>
      <td width="11%"   align="center"><b>Km</b></td>
     
      <td width="10%"   align="center"><b>Cout</b></td>
      <td width="14%"   align="center"><b>Autre cout</b></td>      
    </tr>
    <TR><TD>1-août-2008 Matin</TD><TD>Agir Stg 2008 4</TD><TD>Période en entreprise</TD><td align='center'><font size='-1'>
            <input name='deplacement[0]' type='text' value='Carbonne - Muret' size='33' align='right'>
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(0)' >
            </font></td>
     
            <td><INPUT name='KM[0]' type='text' value='48' align='right' onchange="window.document.ficheactiviteform.elements['Cout[0]'].value=0.28*window.document.ficheactiviteform.elements['KM[0]'].value"></td>
            <td><input name='Cout[0]' disabled type=text ></td>
            <td><INPUT name='AutreCout[0]' type='text' value='0'></td> </TR><INPUT type='hidden' name='viewid[0]' value=14626 ><INPUT type='hidden' name='iddep[0]' value=1 ><TR><TD>4-août-2008 Matin</TD><TD>Agir Stg 2008 4</TD><TD>Période en entreprise</TD><td align='center'><font size='-1'>
            <input name='deplacement[1]' type='text' value='Carbonne - Muret' size='33' align='right'>
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(1)' >
            </font></td>
            <td><INPUT name='KM[1]' type='text' value='48' align='right' onChange="window.document.ficheactiviteform.elements['Cout[1]'].value=0.28*window.document.ficheactiviteform.elements['KM[1]'].value"></td>
     
            <td><input name='Cout[1]' disabled type=text ></td>
            <td><INPUT name='AutreCout[1]' type='text' value='0'></td> </TR><INPUT type='hidden' name='viewid[1]' value=14626 ><INPUT type='hidden' name='iddep[1]' value=1 > <TR><TD>4-août-2008 </TD><TD>Agir Stg 2008 4</TD><TD>Période en entreprise test</TD><td align='center'><font size='-1'>
            <input name='deplacement[2]' type='text' value='Carbonne - Montesquieu Volvestre' size='33' align='right'>
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(2)' >
            </font></td>
            <td><INPUT name='KM[2]' type='text' value='24' align='right' onchange="window.document.ficheactiviteform.elements['Cout[2]'].value=0.28*window.document.ficheactiviteform.elements['KM[2]'].value"></td>
     
            <td><input name='Cout[2]' disabled type=text ></td>
            <td><INPUT name='AutreCout[2]' type='text' value='0'></td> </TR><INPUT type='hidden' name='viewid[2]' value=14629 ><INPUT type='hidden' name='iddep[2]' value=4 ><TR><TD>5-août-2008 Matin</TD><TD>Agir Stg 2008 4</TD><TD>Communication</TD><td align='center'><font size='-1'>
            <input name='deplacement[3]' type='text' value='Carbonne - Lannemezan' size='33' align='right'>
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(3)' >
            </font></td>
            <td><INPUT name='KM[3]' type='text' value='166' align='right' onchange="window.document.ficheactiviteform.elements['Cout[3]'].value=0.28*window.document.ficheactiviteform.elements['KM[3]'].value"></td>
            <td><input name='Cout[3]' disabled type=text ></td>
     
            <td><INPUT name='AutreCout[3]' type='text' value='0'></td> </TR><INPUT type='hidden' name='viewid[3]' value=14627 ><INPUT type='hidden' name='iddep[3]' value=2 ><TR><TD>5-août-2008 Matin</TD><TD>RTT</TD><TD>Techniques Recherche Emploi</TD><td align='center'><font size='-1'>
            <input name='deplacement[4]' type='text' value='Carbonne - Martres Tolosane' size='33' align='right'>
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(4)' >
            </font></td>
            <td><INPUT name='KM[4]' type='text' value='48' align='right' onchange="window.document.ficheactiviteform.elements['Cout[4]'].value=0.28*window.document.ficheactiviteform.elements['KM[4]'].value"></td>
            <td><input name='Cout[4]' disabled type=text ></td>
            <td><INPUT name='AutreCout[4]' type='text' value='0'></td> </TR><INPUT type='hidden' name='viewid[4]' value=14630 ><INPUT type='hidden' name='iddep[4]' value=5 ><TR><TD>6-août-2008 Matin</TD><TD>Agir Stg 2008 4</TD><TD>Communication</TD><td align='center'><font size='-1'>
     
            <input name='deplacement[5]' type='text' value='Carbonne - Lannemezan' size='33' align='right'>
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(5)' >
            </font></td>
            <td><INPUT name='KM[5]' type='text' value='166' align='right' onchange="window.document.ficheactiviteform.elements['Cout[5]'].value=0.28*window.document.ficheactiviteform.elements['KM[5]'].value"></td>
            <td><input name='Cout[5]' disabled type=text ></td>
            <td><INPUT name='AutreCout[5]' type='text' value='0'></td> </TR><INPUT type='hidden' name='viewid[5]' value=14628 ><INPUT type='hidden' name='iddep[5]' value=3 ><TR><TD>7-août-2008 Matin</TD><TD>Agir Stg 2008 4</TD><TD>Communication</TD><td align='center'><font size='-1'>
            <input name='deplacement[6]' type='text' value='Carbonne - Lannemezan' size='33' align='right'>
     
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(6)' >
            </font></td>
            <td><INPUT name='KM[6]' type='text' value='166' align='right' onchange="window.document.ficheactiviteform.elements['Cout[6]'].value=0.28*window.document.ficheactiviteform.elements['KM[6]'].value"></td>
            <td><input name='Cout[6]' disabled type=text ></td>
            <td><INPUT name='AutreCout[6]' type='text' value='0'></td> </TR> <INPUT type='hidden' name='viewid[6]' value=14628 ><INPUT type='hidden' name='iddep[6]' value=3 ><TR><TD>8-août-2008 Matin</TD><TD>Agir Stg 2008 4</TD><TD>Communication</TD><td align='center'><font size='-1'>
            <input name='deplacement[7]' type='text' value='Carbonne - Lannemezan' size='33' align='right'>
     
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(7)' >
            </font></td>
            <td><INPUT name='KM[7]' type='text' value='166' align='right' onchange="window.document.ficheactiviteform.elements['Cout[7]'].value=0.28*window.document.ficheactiviteform.elements['KM[7]'].value"></td>
            <td><input name='Cout[7]' disabled type=text ></td>
            <td><INPUT name='AutreCout[7]' type='text' value='0'></td> </TR> <INPUT type='hidden' name='viewid[7]' value=14628 ><INPUT type='hidden' name='iddep[7]' value=3 ><TR><TD>11-août-2008 Matin</TD><TD>Agir Stg 2008 4</TD><TD>Période en entreprise</TD><td align='center'><font size='-1'>
            <input name='deplacement[8]' type='text' value='Carbonne - Muret' size='33' align='right'>
     
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(8)' >
            </font></td>
            <td><INPUT name='KM[8]' type='text' value='48' align='right' onchange="window.document.ficheactiviteform.elements['Cout[8]'].value=0.28*window.document.ficheactiviteform.elements['KM[8]'].value"></td>
            <td><input name='Cout[8]' disabled type=text ></td>
            <td><INPUT name='AutreCout[8]' type='text' value='0'></td> </TR> <INPUT type='hidden' name='viewid[8]' value=14626 ><INPUT type='hidden' name='iddep[8]' value=1 ><TR><TD>13-août-2008 Journee</TD><TD>Agir Stg 2008 4</TD><TD>Période en entreprise</TD><td align='center'><font size='-1'>
            <input name='deplacement[9]' type='text' value='Carbonne - Isle en dodon' size='33' align='right'>
     
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(9)' >
            </font></td>
            <td><INPUT name='KM[9]' type='text' value='106' align='right' onchange="window.document.ficheactiviteform.elements['Cout[9]'].value=0.28*window.document.ficheactiviteform.elements['KM[9]'].value"></td>
            <td><input name='Cout[9]' disabled type=text ></td>
            <td><INPUT name='AutreCout[9]' type='text' value='0'></td> </TR><INPUT type='hidden' name='viewid[9]' value=14631 ><INPUT type='hidden' name='iddep[9]' value=6 ><TR><TD>18-août-2008 Matin</TD><TD>Agir Stg 2008 4</TD><TD>Période en entreprise</TD><td align='center'><font size='-1'>
            <input name='deplacement[10]' type='text' value='Carbonne - Muret' size='33' align='right'>
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(10)' >
     
            </font></td>
            <td><INPUT name='KM[10]' type='text' value='48' align='right' onchange="window.document.ficheactiviteform.elements['Cout[10]'].value=0.28*window.document.ficheactiviteform.elements['KM[10]'].value"></td>
            <td><input name='Cout[10]' disabled type=text ></td>
            <td><INPUT name='AutreCout[10]' type='text' value='0'></td> </TR> <INPUT type='hidden' name='viewid[10]' value=14626 ><INPUT type='hidden' name='iddep[10]' value=1 ><TR><TD>25-août-2008 Matin</TD><TD>Agir Stg 2008 4</TD><TD>Période en entreprise</TD><td align='center'><font size='-1'>
            <input name='deplacement[11]' type='text' value='Carbonne - Muret' size='33' align='right'>
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement(11)' >
     
            </font></td>
            <td><INPUT name='KM[11]' type='text' value='48' align='right' onchange="window.document.ficheactiviteform.elements['Cout[11]'].value=0.28*window.document.ficheactiviteform.elements['KM[11]'].value"></td>
            <td><input name='Cout[11]' disabled type=text ></td>
            <td><INPUT name='AutreCout[11]' type='text' value='0'></td> </TR> <INPUT type='hidden' name='viewid[11]' value=14626 ><INPUT type='hidden' name='iddep[11]' value=1 > 
     <input name="nbligne" value=12 type="hidden">
     <input name="log" value=r.martin type="hidden">
     <input name="date" value=20080801 type="hidden">
    </tbody></table>
     
    <table width="725">
      <tbody>
    <tr>
    	<td width="401" height="34">Nombre de jour renseign&eacute;: <B>7</B></td>
    	<td width="312">Cout total:<INPUT name='Couttotal' type='texte' disabled></td>
     
     
    </tr>
    <tr>
    	<td width="401" height="34"><input name="Enregistrer" type="submit" value="Enregistrer"></td>
     
            	   <td width="312"><INPUT TYPE="submit" name="valider" VALUE="Valider"> </td>
            </tr>
    </tbody>
    </table>
     
     
    </form>

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    D'abord, window.document est inutile, document suffit.
    Ensuite et surtout, ta boucle n'est pas bonne puisqu'elle ne prend en compte que l'indice 0...
    Essaye avec une boucle while plutôt, dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var i=0
    while(document.ficheactiviteform.elements['Cout['+i+']']){
    couttotal=parseFloat(couttotal) + parseFloat(document.ficheactiviteform.elements['Cout['+i+']'].value) + parseFloat(document.ficheactiviteform.elements['autreCout['+i+']'].value);
    i++;
    }
    Enfin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    couttotal=window.document.ficheactiviteform.elements['Couttotal'].value;
        couttotal=0;
    Ca sert à quoi de donner une valeur à une variable pour la changer immédiatement après ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    la nouvelle idée du javascript (à laquelle j'adhère totalement, est de mettre tout le code dans une feuille à part)
    à ta place tous les élements HTML je leur rajouterais un attribut 'class' (par ex num).
    donc tu lie (avec la balise <script>) une feuille toto.js
    dans toto.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    window.onload=init;
    function int()
    {
         var all = document.getElementsByClassName('num');
    var sum = 0;
         for(var k = all.length - 1 ; k >=0 ; k--)
         {
             sum += all[k].value;
          }
    }
    en s'assurrant qe tu n'as que des nombres dans tes élements
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function stripCharacters(event)
    {
    	if(event.keyCode < 47 || event.keyCode > 57)
    	{
    		if(event.keyCode!=116 && event.keyCode!=37 && event.keyCode!=39 ) 
    			event.returnValue = false; 
    	}
    	if(event.which < 47 || event.which > 57) // disable all alphanumeric char
    	{
    		if(event.which!=8 && event.which!=13 && event.which!=116) // able del, enter and refresh keys
    			return false;
    	}
    }
    par exemple
    et aussi tu utilise
    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
    document.getElementsByClassName = function(clsName)
    {
        var retVal = new Array();
        var elements = document.getElementsByTagName("*");
        for(var i = 0;i < elements.length;i++){
            if(elements[i].className.indexOf(" ") >= 0){
                var classes = elements[i].className.split(" ");
                for(var j = 0;j < classes.length;j++)
                {
                    if(classes[j] == clsName)
                        retVal.push(elements[i]);
                }
            }
            else if(elements[i].className == clsName)
                retVal.push(elements[i]);
        }
        return retVal;
    }
    voila, c simple

    bonne continuation

  9. #9
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    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
    13
     
    function calculercouttotal()
    {
        couttotal=window.document.ficheactiviteform.elements['Couttotal'];
        couttotal.value=0;
        coutElement=window.document.ficheactiviteform.elements['Cout['+0+']'];
        autreCoutElement=window.document.ficheactiviteform.elements['AutreCout['+0+']'];
        var i=0
        while(i<document.ficheactiviteform.elements['Cout['+i+']'].length)
        {
            couttotal=parseFloat(couttotal) + parseFloat(document.ficheactiviteform.elements['Cout['+i+']'].value) + parseFloat(document.ficheactiviteform.elements['autreCout['+i+']'].value);
            i++;
        }
    Voila j'ai fais ça pourtant ça ne marche toujours pas.

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function calculercouttotal()
    {
        couttotal=0;
        var i=0;
        while(document.ficheactiviteform.elements['Cout['+i+']'])
        {
            couttotal+= parseFloat(document.ficheactiviteform.elements['Cout['+i+']'].value) + parseFloat(document.ficheactiviteform.elements['autreCout['+i+']'].value);
            i++;
        }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut
    Excuse mon incompetence lacune en JS
    Mais je ne vois pas comment JS va reconnaitre couttotal dans le formulaire

    Je pensai qu'il fallait mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    couttotal=document.ficheactiviteform.elements['Couttotal'];
    pour lui indiquer ou mettre la valeur, je suis un peu perdu du coup.
    Sinon ça ne marche toujours pas.

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Oui effectivement, il faut le rajouter après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function calculercouttotal()
    {
        couttotal=0;
        var i=0;
        while(document.ficheactiviteform.elements['Cout['+i+']'])
        {
            couttotal+= parseFloat(document.ficheactiviteform.elements['Cout['+i+']'].value) + parseFloat(document.ficheactiviteform.elements['autreCout['+i+']'].value);
            i++;
        }
    document.ficheactiviteform.elements['Couttotal'].value = couttotal;
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut
    Ca marche , grace à toi.
    Je te remercie de m'avoir aidé , j'ai compris deux trois petites choses qui vont m'etre utile plus tard grace à toi.

    Merci

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 17/02/2014, 19h11
  2. Recuperer l'ensemble des valeurs d'un formulaire
    Par johnson95 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/08/2010, 15h38
  3. Tester l'ensemble des valeurs d'un controle
    Par jaq dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/08/2008, 13h59
  4. Réponses: 7
    Dernier message: 18/01/2007, 12h13
  5. Récupérer l'ensemble des valeurs de colonnes
    Par maniolo dans le forum JDBC
    Réponses: 23
    Dernier message: 04/09/2006, 16h45

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