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 :

Calcul automatique qui fait n'importe quoi


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut Calcul automatique qui fait n'importe quoi
    Bonjour à tous,

    Soit ce formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form name="opt" id="opt" method="post">
    <input name="prix1" type="checkbox" value="35" onchange="calcule()" />
    <input name="prix2" type="checkbox" value="45" onchange="calcule()" />
    <input name="prix3" type="checkbox" value="55" onchange="calcule()" />
    <input name="prix4" type="checkbox" value="65" onchange="calcule()" />
    </form>
    Je voudrais, lorsque les checkbox sont cochées ou décochées, le total varie et s'affiche dans un div.

    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
     
     
    function calcule(){
    var val_prix = 0;
     
    if (document.opt.prix1.checked==true)
    { val_prix = eval(val_prix) + (parseInt(document.opt.prix1.value));} 
    if (document.opt.prix2.checked==true)
    { val_prix = eval(val_prix) + (parseInt(document.opt.prix2.value));} 
    if (document.opt.prix3.checked==true)
    { val_prix = eval(val_prix) + (parseInt(document.opt.prix3.value));} 
    if (document.opt.prix4.checked==true)
    { val_prix = eval(val_prix) + (parseInt(document.opt.prix4.value));} 
     
    if (!val_prix){val_prix = 0;} 
    document.getElementById("total").innerHTML = parseInt(val_prix);
    }
    Mais ça affiche un peu n'importe quoi selon que l'on coche ou décoche les checkbox. Quelqu'un voit le hic ?
    Merci à lui.

  2. #2
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Bonjour,

    Je pense que onchange est mal venu : il n'est pas déclenché exactement au même moment suivant les navigateurs ; parfois dès que le checkbox passe de décoché à coché (avec firefox) parfois quand la checkbox n'a plus le focus et qu'elle a changé de valeur (ie)...
    Avec un onclick ?
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par gwyohm Voir le message
    Avec un onclick ?
    +1
    Ca évite ce genre de problème ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  4. #4
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Bien vu, les gars !
    Comme c'est bêta, des fois...

    Merci et bonne fin de journée.

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

Discussions similaires

  1. [XL-2007] Calcul automatique qui ne se déclenche plus !
    Par clmir dans le forum Excel
    Réponses: 3
    Dernier message: 23/12/2009, 16h29
  2. Compte admin qui me fait n'importe quoi.
    Par 6bil1 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 02/07/2009, 13h33
  3. TextWriter qui écrit n'importe quoi
    Par mioux dans le forum ASP.NET
    Réponses: 7
    Dernier message: 04/03/2009, 09h25
  4. [débutant] set linesize me fait n'importe quoi
    Par Mathusalem dans le forum Oracle
    Réponses: 6
    Dernier message: 20/04/2006, 16h22

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