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 :

Addition de résultats


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 14
    Points
    14
    Par défaut Addition de résultats
    Bonjour,

    Je suis nouvelle sur ce forum php. Cela fait quelques jours seulement que j'ai commencé à adapter des scripts que je trouve sur le net.

    Ma question:

    Dans mon formulaire, j'ai 2 fonctions de calcul qui chacune place leur résultat dans un champs texte.

    Pour l'instant, j'ai réussi à additionner ces 2 résultats dans un 3ème champs texte, en exécutant une fonction attachée à un bouton commande.

    J'aimerais savoir s'il est possible que le résulat de l'addition s'affiche automatiquement dans un champs texte?

    Quelqu'un peut me guider svp?

    Merci,

    Anita

  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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    oui en changeant l'evenement declencheur
    onchange ou onblur sur les champs de saisie ...

  3. #3
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    D'accord avec SpaceFrog, regarde par ici il y a un peu plus de détails

    Sinon à part ça,
    Citation Envoyé par anita07 Voir le message
    Bonjour,

    Je suis nouvelle sur ce forum php. [...]
    Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
    ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    ça va pas...?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input name="total" type="text" id="total" size="6" onchange = "Fct_Somme();"/>
     
    <input type="text" id="totalcost" name="totalcost" onchange = "Fct_Somme();"/>

  5. #5
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    si mais as tu pris en compte que le onchange necessiste deux critères
    la modification du value ET la perte de focus de l'input

  6. #6
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Sinon y'a aussi onkeyup qui peut être intéressant.

    Edit: Me suis gourré à propos des claviers virtuels, oubliez ce que j'ai dit.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    donc, si j'ai bien compris , il faut que je récupére les valeurs calculées...quelque part? ...dans une variable...par exemple?

  8. #8
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    non tu fais le calcul en direct a chaque fois, y'a pas de contre indication !

  9. #9
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Il n'y a jamais trop de variables quand on débute.

    Comme je ne sais pas trop ce que tu connais ou pas, je vais te donner quelques trucs :

    – le truc du this :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" onchange="alert(this.value);" />

    – le truc de l'id :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" id="zbam" />
    <input type="button" value="clic" onclick="alert(document.getElementById('zbam').value);" />

    – on mélange un peu tout ça :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function faireLeCafe( val ) {
        document.getElementById('chose').value = val;
    }
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input id="chose" type="text" readonly="readonly" />
    <input type="text" onkeyup="faireLeCafe(this.value);" />


  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    ok, je vois...quand je clique dans le champs et que j'en resort, il fait le calcul...en fait, c'est pas très "automatique". Il faut un truc en plus...

    Merci pour vos réponses, si jamais je ne m'en sors pas, soit je reviens vers vous, soit je garde mon bouton....

    Bon soirée,

    Anita

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    oups, j'ai pas vu ton message Watilin......

    je regarde cela demain.....j'ai les yeux en bouillie.

    Merci

    Je laisse ouvert

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    J'ai tenu en compte vos commentaires (et au-delà même), mais je coince.

    Cela fonctionne avec onblur, mais il faut cliquer une fois dans le champ, en ressortir et recliquer dedans pour que cela fonctionne????

  13. #13
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Tu coinces où exactement ? On peut voir ton code ?

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Points : 171
    Points
    171
    Par défaut
    Visiblement les champs input réagissent au "onChange" lorsqu'on fait un "onBlur"

    Il faudrait plutôt utiliser un des événements key(up/down/press), j'ai essayé avec le clavier virtuel de Seven, il réagit bien.

    Mon petit script pour tester

    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
    <html>
      <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
            function test(el){
                mot=el.value;
                document.getElementById("toto").innerHTML+=mot+"<br/>"
            }
        </script>
      </head>
      <body>
          <div id="toto">
     
          </div>
          <input type="text" onChange="test(this);" onKeyUp="test(this)" />
      </body>
    </html>

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    Voici mon champ "total" qui reçoit le calcul ( quantité*PU*TVA...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <input name="total" type="text" id="total"  value="0.00" size="6" onblur = "Fct_Somme();"/>
    Voici mon champs "totalcost" qui reçoit un autre calcul ( calcul valeur chkboxes)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="totalcost" type="text" id="totalcost"  value="0.00" onblur = "Fct_Somme();"/>
    le champ qui reçoit l'addition des 2 totaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <input name = "RESULTAT" type = "text" value="0.00" >
    et voici la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function Fct_Somme(){
      var O_Form = document.SOMME;
      var Val_1 = parseFloat( O_Form.total.value);
      var Val_2 = parseFloat( O_Form.totalcost.value);
      O_Form.RESULTAT.value = ( Val_2 +Val_1);  
    }
    comme je l'ai dit, ça marche, mais en cliquant et recliquant!

    PS: je débute en java et php

  16. #16
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    Bonjour,
    comme il a été suggéré, remplaces onblur par onkeyup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="total" type="text" id="total"  value="0.00" size="6" onkeyup = "Fct_Somme();"/>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="totalcost" type="text" id="totalcost"  value="0.00" onkeyup = "Fct_Somme();"/>

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    je l'avais déjà fait, avec tous les onkey possibles mais là, rien ne se passe...

    j'ai essayé d'autres choses mais bon...je vais voir du côté des tabindex...sinon, j'ai mon bouton

    Merci,

    Anita

  18. #18
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    je vais partir en supputation
    ...la structure du document est incorrecte, manque la FORM qui est référencée dans la fonction...
    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
    <html>
    <head>
    <script type="text/javascript">
    function Fct_Somme(){
      var O_Form = document.SOMME;
      var Val_1 = parseFloat( O_Form.total.value);
      var Val_2 = parseFloat( O_Form.totalcost.value);
      O_Form.RESULTAT.value = ( Val_2 +Val_1);
    }
    </script>
    </head>
    <body>
    <form id="SOMME" name="SOMME">
      <input name = "total"     type = "text" id="total"      value="0.00" onkeyup = "Fct_Somme();">
      <input name = "totalcost" type = "text" id="totalcost"  value="0.00" onkeyup = "Fct_Somme();">
      <input name = "RESULTAT"  type = "text" value="0.00">
    </form>
    </body>
    </html>

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    j'ai pas mis tout le code, mais le form id est bien indiqué dans mon document.

    tout à l'air correct dans le code, sauf que...

    Je vous remercie,

    Je vais essayer de trouver,

    Anita

  20. #20
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    l'accès à la FORM de la sorte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var O_Form = document.SOMME;
    IMPOSE que la FORM est un NAME valant SOMME

    pour l'accès si il y a simplement une ID il te faut passer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var O_Form = document.getElementById('SOMME');
    est ce que tu arrives au moins à faire fonctionner l'exemple que je t'ai proposé?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/04/2012, 09h12
  2. [MySQL] Addition des résultats d'une requête et arrondissement de nombres
    Par nico341 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/03/2008, 13h58
  3. Addition de résultat de cellule
    Par solorac dans le forum Excel
    Réponses: 5
    Dernier message: 29/08/2007, 18h18
  4. [MySQL] addition de résultats de type "time"
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/02/2007, 18h07
  5. Fonction "addition" et résultat fixe
    Par groutcho dans le forum C++
    Réponses: 12
    Dernier message: 11/04/2005, 17h45

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