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 :

Récupérer le contenu d'un champs pour un calcul ?


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut Récupérer le contenu d'un champs pour un calcul ?
    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
    <html>
    <head>
    <title>function update()</title>
    <style>
    .txt{
    	font-family: Verdana;
    	font-size: 11px;
    	font-style: normal;
    	color: #993300;
    }
    .txt-bold{
    	font-family: Verdana;
    	font-size: 11px;
    	font-style: normal;
    	color: #993300;
    	font-weight: bold;
    }
    .form{
    	border: 1px solid #993300;
    }
    </style>
    <script language="JavaScript">
    function update()
    {
    	var total = getElementsByName('q_e01')*2500+getElementsByName('q_e02')*30+getElementsByName('q_e03')*25+getElementsByName('q_p01')*250+getElementsByName('q_p02')*500;
    	document.getElementById("total").innerHTML = total;
    }
    </script>
    </head>
    <body>
    <table width=75% border=0 cellpadding=0 align=center style="border: 1px solid #51260B;" class=txt bgcolor=#FFFFFF>
      <form action="achats.php?value=ok" method=post>
        <tr bgcolor=#ECD6AF class=txt-bold> 
          <td width=15% height=20 align=center>Quantit&eacute;</td>
          <td width=45% align=center>D&eacute;signation</td>
          <td width=20% align=center>Prix Unitaire</td>
          <td width=20% align=center>Total</td>
        </tr>
        <tr> 
          <td align=center valign=middle><input name=q_e01 value=0 type=text size=3 class="form"></td>
          <td valign=middle>&nbsp;&nbsp;P&ocirc;le plan&egrave;taire</td>
          <td align=right valign=middle>2500&nbsp;Cr&nbsp;&nbsp;</td>
          <td align=right valign=middle>&nbsp;Cr&nbsp;&nbsp;</td>
        </tr>
        <tr bgcolor=#ECD6AF> 
          <td align=center valign=middle><input name=q_e02 value=0 type=text size=3 class="form"></td>
          <td valign=middle>&nbsp;&nbsp;Usines</td>
          <td align=right valign=middle>30&nbsp;Cr&nbsp;&nbsp;</td>
          <td align=right valign=middle>&nbsp;Cr&nbsp;&nbsp;</td>
        </tr>
        <tr> 
          <td align=center valign=middle><input name=q_e03 value=0 type=text size=3 class="form"></td>
          <td valign=middle>&nbsp;&nbsp;Centre d'&eacute;changes Commerciaux</td>
          <td align=right valign=middle>25&nbsp;Cr&nbsp;&nbsp;</td>
          <td align=right valign=middle>&nbsp;Cr&nbsp;&nbsp;</td>
        </tr>
        <tr bgcolor=#ECD6AF> 
          <td align=center valign=middle><input name=q_p01 value=0 type=text size=3 class="form"></td>
          <td valign=middle>&nbsp;&nbsp;Centre de production</td>
          <td align=right valign=middle>250&nbsp;Cr&nbsp;&nbsp;</td>
          <td align=right valign=middle>&nbsp;Cr&nbsp;&nbsp;</td>
        </tr>
        <tr> 
          <td align=center valign=middle><input name=q_p02 value=0 type=text size=3 class="form"></td>
          <td valign=middle>&nbsp;&nbsp;Chantier Naval</td>
          <td align=right valign=middle>500&nbsp;Cr&nbsp;&nbsp;</td>
          <td align=right valign=middle>&nbsp;Cr&nbsp;&nbsp;</td>
        </tr>
        <tr class=txt-bold> 
          <td>&nbsp;</td>
          <td align=right valign=middle>&nbsp;</td>
          <td align=right valign=middle>Total :&nbsp;&nbsp;</td>
          <td align=right valign=middle><div id="total"></div>
            &nbsp;Cr&nbsp;&nbsp;</td>
        </tr>
        <tr height=20> 
          <td colspan=4 align=center><a href="javascript:update()">Calculer</a></td>
        </tr>
      </form>
    </table>
    </body>
    </html>
    Je souhaite récupérez les valeurs de mes champs pour mettre à jour le total (c'est un formulaire d'achats fictifs)
    Le problème c'est que la comme ça ça fonctionne pas (ça aurait été trop beau)

    Je voulais savoir si ce que je voulais faire était possible

    De plus peut on faire en sorte que quand un formulaire prend une autre valeur que '0' ça mette a jour sans avoir à cliquer

    J'en demande peut être beaucoup la

    Merci de m'aider

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    salut,
    alors il faut mettre un id= a tous les champs avec la meme chose que dans le name=,
    ensuite, replacer les getElementsByName par getElementById, récupérer le .value et mettre des parseInt sinon il va concaténer... pfiou ca fais du boulot
    Peut être vaut il mieux passer par des variables intermediaires

    un ti exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var pole = parseInt(document.getElementById('q_e01').value,10)*2500;
    var usine = parseInt(document.getElementById('q_e02'),10)*30;
    // etc ...
    var somme = pole + usine .....
    ensuite pour mettre a jour tout seul, rajoute des onkeyup="update()" dans tes champs
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut
    ouahhh c'est magique

    merci beaucoup

    j'espere que le php qu'il y a derniere fonctionnera aussi

    (bon j'ai du taff ^^)


    edit : heu par contre mon resultat est multiplié par 10 c'est normal ?

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

Discussions similaires

  1. [DAO]Récupérer le contenu d'un champ d'un sous-formulaire
    Par DonQuiShoote dans le forum VBA Access
    Réponses: 3
    Dernier message: 16/04/2007, 14h00
  2. Réponses: 4
    Dernier message: 13/08/2006, 22h18
  3. Récupérer le contenu d' un champ
    Par momo60 dans le forum Access
    Réponses: 1
    Dernier message: 02/06/2006, 10h43
  4. Récupérer le nom d'un champ pour utilisation dans getElement
    Par effree dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/02/2006, 16h21
  5. Réponses: 2
    Dernier message: 14/02/2006, 14h59

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