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

Développement Web en Java Discussion :

Problème script calcul liste déroulante


Sujet :

Développement Web en Java

  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 Problème script calcul liste déroulante
    Bonjour a tous.
    J'ai crée un script avec des listes déroulants liées. En fonction du choix des cases à cochées, la liste déroulante affiches un choix de quantité qui est associé à 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
    Membre averti
    Homme Profil pro
    Développeur Java/JEE Web
    Inscrit en
    Octobre 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java/JEE Web

    Informations forums :
    Inscription : Octobre 2008
    Messages : 88
    Points : 313
    Points
    313
    Par défaut
    Salut,

    Bon j'espère que tu as trouvé le souci depuis les deux derniers jours mais un petit conseil lorsque tu as des soucis avec JavaScript :
    Utilise Firefox avec le plugin Firebug. Tu pourras ainsi voir précisément où est ton problème et même faire du debug sur ton code.

    Bon je passe sur les détails de ton script (tu devrais vraiment lire la faq sur le javascript) mais dans ta formule
    "r=(p*(1+(t/100)))+f; //On calcule"

    Ils sortent d'où "p" ? et "f" ? Es-tu sûr de leur valeur numérique (teste avec des alert) ?

    Tu devrais déclarer tes variablesen mode local (var) de manière systématique.

Discussions similaires

  1. problème avec une liste déroulante
    Par valouche dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 30/05/2007, 09h01
  2. [PHP-JS] Problème javascript php liste déroulante
    Par bodysplash007 dans le forum Langage
    Réponses: 2
    Dernier message: 26/03/2007, 11h06
  3. Problème fonction affichage listes déroulantes
    Par JLDR69 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/09/2006, 19h06
  4. [Débutant] problème avec une liste déroulante
    Par stan21 dans le forum Access
    Réponses: 3
    Dernier message: 12/07/2006, 14h52

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