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 :

Additionner des zones texte automatiquement


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut Additionner des zones texte automatiquement
    Slt à tous,
    je me retourne vers vous ca le java script nétant pas ma tasse de thé, je pense avoir atteins mes limites.
    Voila ce qui m'amène :
    un petit bout de code sera plus explicite :
    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
     
    <script type='text/javascript'>
    //<![CDATA[
    function calcul()
    {
     var formu = document.getElementById("formu");
     var total=document.getElementById("formu").total.value;
     
     formu.total.value=Number(formu.bob1.value)+Number(formu.bob2.value);
     
    }
    //]]>
     </script>
     <form id="formu" method="post" action="">
    <?
    $cpt=0;
    $req = mysql_query("SELECT * from vins ORDER BY id") or die ("erreur req ".mysql_error());
    while( $sortie = mysql_fetch_array($req))
    {
    $cpt++;
    echo'
    <table width="100%" border="1">
      <tr>
        <td><span class="info">Type :</span><br />
    	'.$sortie[types].'</td>
        <td><span class="info">Année :</span><br />
    	'.$sortie[annee].'</td>
        <td><span class="info">Prix :</span><br />
    	<span class="alert">'.$sortie[prix].' €</span></td>
        <td><span class="info">Quantité :</span><br />
    	<input type="text" name="bob'.$cpt.'" onkeyup="calcul();" onkeypress="
         if(event.keyCode &lt; 48 || event.keyCode &gt; 57) event.returnValue = false;
         if(event.which &lt; 48 || event.which &gt; 57) return false;" size="5" /></td>
      </tr>
    </table>';	
    }
    ?>
    <br />Total :<br />
    <input type="text" name="total"  />
    </form>
    en gros mon formulaire se construit automatiquement et par conséquant incrément la valeurs "name" du champ quantité bob1, bob2 ... du nombre de produits dans la base.

    Mon problème c'est que je ne sais pas comment faire dans la fonction js pour additionner tous mes champs bob, car je ne sais pas combien de champ bob il y aura dans la base de donnée.

    Comment faire ???
    Merci de 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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Salut,

    avec un while dy type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var i =1;
    var total = 0;
    while(formu.elements['bob'+i]){
        total += +formu.elements['bob'+i].value;
        i++;
    }
    formu.total.value=total;

  3. #3
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Merci Bovino c'est ca ,
    mais c'est moi qui me suis planté dans ce que je voulez faire.

    En réalité cela ne doit pas être le total des quantités que je dois calculer mais le total des prix.

    Et la ça devient plus galère, car je ne ois pas comment récupérer le prix dans Js pour le multiplier par la quantité.

  4. #4
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    je bloque sur le calcul
    du prix, voici le code que j'ai utilisé avec ce que tu avez fait mais cela ne fonctionne pas, car cela additionne le prix même quand il n'y a pas de quantité

    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
    <script type='text/javascript'>
    //<![CDATA[
    function calcul()
    {
     var formu = document.getElementById("formu");
    var i =1;
    var total = 0;
    while(formu.elements['bob'+i]){
        total += +formu.elements['bob'+i].value;
        i++;
    }
    formu.total.value=total;
     
    var p =1;
    var som = 0;
    while(formu.elements['leprix'+p]){
        som += +formu.elements['leprix'+p].value;
        p++;
    }
    formu.som.value=som;
     
    formu.final.value=total*som;
    }
    //]]>
     </script> 
     
    <form id="formu" method="post" action="">
    <?
    $cpt=0;
    $compteur=0;
    $req = mysql_query("SELECT * from vins ORDER BY id") or die ("erreur req ".mysql_error());
    while( $sortie = mysql_fetch_array($req))
    {
    $cpt++;
    $compteur++;
    echo'
    <table width="100%" border="1">
      <tr>
        <td rowspan="2"><a href="./photosvin/'.$sortie[photo].'" rel="lightbox"><img src="./photosvin/'.$sortie[photo].'" height="200px" alt="" /></a></td>
        <td colspan="4"><span class="info">Appelation :</span><br />
    '.$sortie[appelation].'</td>
      </tr>
      <tr>
        <td><span class="info">Type :</span><br />
    	'.$sortie[types].'</td>
        <td><span class="info">Année :</span><br />
    	'.$sortie[annee].'</td>
        <td><span class="info">Prix unitaire :</span><br />
    	<span class="alert">'.$sortie[prix].' €<br /></span>
    	<input type="hidden" name="leprix'.$compteur.'" value="'.$sortie[prix].'" onkeyup="calcul();" onkeypress="
         if(event.keyCode &lt; 48 || event.keyCode &gt; 57) event.returnValue = false;
         if(event.which &lt; 48 || event.which &gt; 57) return false;" size="5" />	
     
    	</td>
        <td><span class="info">Quantité :</span><br />
    	<input type="text" name="bob'.$cpt.'" onkeyup="calcul();" onkeypress="
         if(event.keyCode &lt; 48 || event.keyCode &gt; 57) event.returnValue = false;
         if(event.which &lt; 48 || event.which &gt; 57) return false;" size="5" /></td>
      </tr>
    </table>
    <hr width="75%"/>';	
    }
    ?>
    <br />Total :<br />
    <input type="text" name="total"  />
    <input type="text" name="som"  />€
    <input type="text" name="final"  />€
    </form>

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Il y a du PHP dans ce code.
    Tu pourrais plutôt nous donner le code renvoyé au navigateur ?

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

Discussions similaires

  1. Déplacer des zones texte automatiquement
    Par Tikia dans le forum Powerpoint
    Réponses: 0
    Dernier message: 17/01/2014, 16h57
  2. remplir des champs texte automatiquement avec base
    Par rvm31 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/11/2007, 09h55
  3. addition de nombre stocké dans des zones texte
    Par jejeman dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/07/2007, 12h11
  4. Réponses: 11
    Dernier message: 08/06/2007, 16h45
  5. dessin et format des zones texte
    Par sorinexp dans le forum Access
    Réponses: 15
    Dernier message: 31/08/2005, 11h26

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