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 variables


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 106
    Points : 121
    Points
    121
    Par défaut Addition de variables
    Bonjour à tous,

    Voilà, dans un formulaire où je ne peux pas utiliser php, je dois récupérer puis additionner et afficher le résultat de l'addition.
    Je suis très nul en JS et j'aurais voulu savoir si cela était possible.
    Mon exemple est en fait d'additionner des variables venant de 3 "select" d'un formulaire puis d'afficher la somme.

    Merci de votre aide,
    Cordialement.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Si ce que tu veux c'est récupérer le résultat d'une somme de trois "value" de "select" (dis moi si cela te parle ou non...c'est peut-être incomprehensible si tu es nouveau en JS) il faut que tu procède ainsi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    resultat = 
    cdbl(document.getElementById('select1')[document.getElementById('select1').selectedIndex].value) +
    cdbl(document.getElementById('select2')[document.getElementById('select2').selectedIndex].value) +
    cdbl(document.getElementById('select3')[document.getElementById('select3').selectedIndex].value)
    Est-ce bien cela que tu voulais faire?

  3. #3
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    peut être un petit Number() ou parseFloat() au passage ? juste histoire d'eviter une concaténation ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 106
    Points : 121
    Points
    121
    Par défaut
    Merci de votre aide, mais cela ne me parle pas vraiment..... Désolé.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    ok je t'explique :

    - cdbl() pour la conversion en type double
    - document.getElementById('select1') pour sélectionner ton objet select
    - [document.getElementById('select1').selectedIndex] te renvoie l'index sélectionné
    - .value te renvoie la valeur

    Conclusion : cdbl(document.getElementById('select1')[document.getElementById('select1').selectedIndex].value)

    Te rennvoie la valeur de l'élément option du select1, le tout convertit en double...

    Si ça ne te parle toujours pas il faut que tu commence par un cours sur les rudiments du javascript

  6. #6
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    cdbl en javascript ????

    attention à la casse CDbl( ) et ce n'est valable que pour VBScript

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    oups autant pour moi cdbl() c en asp.... remplace le par parseFloat

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    juste pour mémoire ...

    peut être un petit Number() ou parseFloat() au passage ? juste histoire d'eviter une concaténation ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 106
    Points : 121
    Points
    121
    Par défaut
    Merci, j'ai donc lu un ou 2 tutos et ça baigne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <INPUT id=a value=> + <INPUT id=b value=> + <INPUT id=c value=> <INPUT onclick="res= parseFloat(document.getElementById('a').value)+parseFloat(document.getElementById('b').value)+parseFloat(document.getElementById('c').value);document.getElementById('d').value = res;" type=button value==> 
    <INPUT id=d value=>
    Merci encore.
    Amicalement.

  10. #10
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    juste pour info au passage
    les propriétés des attributs doivent être entre quote ...


  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 106
    Points : 121
    Points
    121
    Par défaut
    Merci, sans les quotes ça fonctionne mais je les ai rajoutés

    j'ai mis le script dans le formulaire, je récupère bien mes 3 variables, me reste plus qu'à implémenter la case total automatiquement si c'est possible, sinon yaka faukon cliquer

  12. #12
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    sans quote ça marche sous IE ...
    le w3c précise que le sattributs doivent être entre quote

    pour la case total puisque tu l'as calculé il ne reste plus qu'a l'attribuer

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 106
    Points : 121
    Points
    121
    Par défaut
    Merci pour ces précisions, pour le champ total, j'ai mis onfocus ce qui rafraichit le total en cliquant sur le champ. Est-ce ok?

  14. #14
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tout dépend de quand tu veux que le total soit calculé ???

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 106
    Points : 121
    Points
    121
    Par défaut
    Une fis tous les champs remplis ou au fur et à mesure, c'est égal.
    Mais de cette façon, ça me semble OK, ça évite un bouton.

  16. #16
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    sur le onkeyup de chacun des autre champs ou sur le onblur de ces champs ...

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 106
    Points : 121
    Points
    121
    Par défaut
    En fait, ce dernier problème est réglé en donnant le focus à l'input total, ce qui le met à jour automatiquement.
    Merci à tous.
    Pour compléter, dans chaque zone select, j'ai ajouté:
    onChange="this.form.total.focus()"

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

Discussions similaires

  1. Addition de variable
    Par morice67 dans le forum Formules
    Réponses: 7
    Dernier message: 20/01/2011, 20h59
  2. INSERT INTO + addition avec variable
    Par trialrofr dans le forum ASP
    Réponses: 5
    Dernier message: 06/07/2009, 09h17
  3. addition de variables
    Par amans dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/05/2008, 11h21
  4. Addition de variables
    Par craac dans le forum Langage
    Réponses: 4
    Dernier message: 05/09/2007, 17h14
  5. [XSLT] Addition de variable
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 13/10/2005, 10h09

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