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 :

Affichage somme liste déroulante


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Février 2012
    Messages : 16
    Points : 5
    Points
    5
    Par défaut Affichage somme liste déroulante
    Bonjour a tous.
    J'ai crée un script avec une liste déroulante liées à des cases a cochées. En fonction du choix des cases à cochées, la liste déroulante affiches un choix de quantités qui sont associées à des valeurs différentes.
    Puis calcul d'une TVA à 19,6%
    Puis addition de frais de transport.

    Mon total ne se calcul pas et je voudrais également que la valeur définie pour chaque quantité s'affiche avant que la TVA ou les frais d'envois soient coché

    Voici mon code
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
     
    <html>
    <head>
    <script language="javascript">
    function Affiche_liste(id_ensemble_select,id_select)
    {
     
            var id_ensemble_select = document.getElementById(id_ensemble_select);
     
     
            var id_select = document.getElementById(id_select);
     
            if(id_ensemble_select)
                            {
     
                                    var tab = new Array();
     
     
                                    tab = id_ensemble_select.getElementsByTagName('select');
     
                                    var tablength = tab.length;
     
     
                                    for (i=0; i < tablength; i++)        
                                            {
     
                                                    tab[i].disabled = true;
                                                    if(id_select) tab[i].style.display = 'none';
                                            }
     
     
                                    if(id_select)
                                            {
                                                    id_select.disabled = false;
                                                    id_select.style.display = 'inline';
                                            }    
                            }
     
    }
     
     
    function calcul(total,categorie,tva)
    { 
    x=document.getElementById(categorie);c=(1*x.value); 
    x=document.getElementById(tva);t=(1*x.value); 
    // les frais de port (boucle car bouton radio)
    for(i=0;i<document.frm.port.length;i++){
       if(document.frm.port[i].checked){f=(1*document.frm.port[i].value);}
    }
    r=(p*(1+(t/100)))+f; //On calcule
    x=document.getElementById(total);x.value=r; // On affecte
    }
     
     
     
    </script>
    </head>
    <body>
     
     
    <form name="frm">
    <p>
     <label for="choix_visites">Carte de visites</label>
    <input type="radio" id = "choix_visites" name = "cat" value = "visites" class = "categorie" onclick = "Affiche_liste(this.className,this.value)" />
     
    <label for="choix_correspondance">Carte de correspondance</label>
    <input type="radio" id = "choix_correspondance" name = "cat" value = "corres" class = "categorie" onclick = "Affiche_liste(this.className,this.value)" />
     
    <label for="choix_fairepart">Faire part</label>    
    <input type="radio" id = "choix_fairepart" name = "cat" value = "part" class = "categorie" onclick = "Affiche_liste(this.className,this.value)" />
    </select>
     
    </p>
     
    <p id = "categorie">
    <select name = "selection" id = "visites" style= "display:inline" disabled="disabled" onBlur="calcul('total','categorie','tva')">
        <option value=>choisissez</option>
    	<option value="48">100</option>
    	<option value="49">200</option>
    	<option value="57">500</option>
        <option value="67">1000</option>
    </select>
     
    <select name = "selection" id = "corres" style= "display:inline" disabled="disabled">
        <option value=>choisissez</option>
    	<option value="69">100</option>
    	<option value="76">200</option>
    	<option value="97">500</option>
        <option value="128">1000</option>
    </select>
     
     
    <select name = "selection" id = "part" style= "display:inline" disabled="disabled">
        <option value=>choisissez</option>
    	<option value="69">100</option>
    	<option value="76">200</option>
    	<option value="97">500</option>
        <option value="128">1000</option>
    </select>
     
    </p>
     
     
     
    TVA : <select name="tva" id="tva" onChange="calcul('total','categorie','tva')">
    <option value="0" selected></option>
    <option value="19.6">19,6%</option>
    </select>
    <br/>
     
    Frais de port : <input id="port" type="radio" name="port" value="0" onClick="calcul('total','categorie','tva')" checked> Retrait sur place ;
    <input id="port" type="radio" name="port" value="12" onClick="calcul('total','categorie','tva')"> Collissimo<br/>
     
    Total de la commande : <input id="total" type="text" name="total" readonly>
     
     
    </form>
    </body>
    </html>
    Est ce que vous voyez ou sa cloche ?

    Merci de votre aide, je suis dessus depuis plusieurs jours.

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    sans doute cette mystérieuse variable "p"...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Février 2012
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Tu peux m'en dire plus .....

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    r=(p*(1+(t/100)))+f; //On calcule

  5. #5
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Hé bien la variable "p" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    r=(p*(1+(t/100)))+f; //On calcule

    N'est déclarée nulle part d'après ce que l'on peut voir. Que vaut-elle ?

  6. #6
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    sans doute cette mystérieuse variable "p"...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    r=(p*(1+(t/100)))+f; //On calcule
    Ton p sort de nulle part ici, il n'est pas initialisé...

  7. #7
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    quelle synchronisation

  8. #8
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    3 réponses exactement en même temp, tout le monde est au taquet aujourd'hui ^^

  9. #9
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut \o/
    Quelle synchronisation. ^^

    La coupe d'or revient à javatwister !

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Février 2012
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Elle vient appeler cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x=document.getElementById(categorie);p=(1*x.value); // quantite

  11. #11
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x=document.getElementById(categorie);c=(1*x.value);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  12. #12
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    m'est avis que tu t'es emmêlé les cheveux dans tes variables aux noms euh... taciturnes;

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Février 2012
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Merci Bovino.
    Je viens de changer la variable. Mais ça ne fonctionne pas j'ai 'NAN' qui s'affiche dans le résultat.

  14. #14
    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
    Etonnant...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onBlur="calcul('total','categorie','tva')"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x=document.getElementById(categorie);p=(1*x.value); // quantite
    A moins que ça vienne de mes yeux, tu n'as aucun élément dont l'id est "categorie"...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Février 2012
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ligne 75 : <p id = "categorie">
    Je veux qu'en fonction du choix de la liste déroulante le calcul change.
    Comme chaque liste a son propose ID, j'ai voulu créé un ID global, d'ou la ligne 75. Et l'appeler içi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x=document.getElementById(categorie);p=(1*x.value); // quantite

  16. #16
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    une balise p n'a pas d'attribut value .....

  17. #17
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <select id="categorie" name = "selection" style= "display:inline" disabled="disabled" onBlur="calcul('total','categorie','tva')">
        <option value=>choisissez</option>
    	<option value="48">100</option>
    	<option value="49">200</option>
    	<option value="57">500</option>
        <option value="67">1000</option>
    </select>
    la ca marchera ....

  18. #18
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    et puis la valeur d'un tel "paragraphe"...

  19. #19
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    enfin je ne sais pas si c'est l'input que tu voulais, mais il faut que ton id se trouve sur l'input contenant la valeur.....

    Seul les balises input, select et textarea contiennent un attribut value !!

  20. #20
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    et puis tes variables x, f et autre c sont drôlement inutiles;

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

Discussions similaires

  1. [DOM] affichage naviguateur liste déroulant lié
    Par matt16matt dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/05/2008, 19h10
  2. Réponses: 7
    Dernier message: 24/01/2008, 08h51
  3. affichage =/= valeur (liste déroulante)
    Par laurent.c123 dans le forum JSF
    Réponses: 2
    Dernier message: 05/06/2007, 13h08
  4. Pb d'affichage avec liste déroulante
    Par Tintou dans le forum Access
    Réponses: 5
    Dernier message: 02/05/2007, 17h28
  5. Aide pour un affichage de listes déroulantes
    Par jfjava2002 dans le forum Langage
    Réponses: 1
    Dernier message: 02/03/2006, 18h01

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