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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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 684
    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 684
    Par défaut
    sans doute cette mystérieuse variable "p"...

  3. #3
    Membre averti
    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
    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 684
    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 684
    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

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    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 expérimenté
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    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 684
    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 684
    Par défaut
    quelle synchronisation

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

  9. #9
    Expert éminent

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

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

    La coupe d'or revient à javatwister !

  10. #10
    Membre averti
    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
    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
    Membre averti
    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
    Par défaut
    J'ai essayé ta solution ticroch, mais sa désactive la liaison entre les cases a cochées et la liste déroulante et le calcul ne se fait toujours pas

  12. #12
    Membre averti
    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
    Par défaut
    Un grand merci à tous, pour vos réflexions et votre aide.

    Ca fonctionne, j'ai encore un petit soucis avec mes listes liées qui s'affichent toutes cote a cote et qui se rassemble en une seule quand je sélectionne une case a cochés.
    Si vous avez une dernière idée.???

    Sinon le script fonctionne pour des devis en ligne.
    Si ça intéresse quelqu'un....

  13. #13
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    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 684
    Par défaut
    c'est pas qu'elles "se rassemblent en une seule" mais que 2 sur 3 disparaissent (logique, c'est ce que demande ta fonction);

    elles s'affichent côte à côte parce que tu ne les mets pas en display:none au chargement; ce serait pourtant plus utile qu'un readonly...

  14. #14
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    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 684
    Par défaut
    du coup, ta fonction affiche_liste est à revoir aussi (étonnante aussi cette fonction);

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

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