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 :

Script de calcul de prix


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Par défaut Script de calcul de prix
    Bonjour, déjà je vous précise que je n'y connais rien a Javascript et j'ai besoin de faire un script de calcul de prix, en fait c'est une page ou il y a des articles (le nombre est variable), des prix leurs sont attribués ils varient en fonction de l'article evidement et une quantitée attribuée a chaque article que le client peux modifier ca se présente a peu près donc comme ca :
    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
     
    <form method="POST" action="index.php" name="form1"> 
    				<input type="hidden" value="2" name="nb"/> //Le nombre d'article sur la page, ici 2 mais peut augmenter ou diminuer !
    <tr> 
    ///////////DEBUT PREMIER ARTICLE////////////
    					<td> 
    					4.75 &euro;
    					</td> 
    					<td">Qté.<br/><SELECT name="0-quantitee" onchange="calculerprix();"> //Quantitée que choisit le client.
    		<OPTION VALUE="1">1</OPTION> 
    		<OPTION VALUE="2">2</OPTION> 
    		<OPTION VALUE="3">3</OPTION> 
    		<OPTION VALUE="4">4</OPTION> 
    		<OPTION VALUE="5">5</OPTION> 
    		<OPTION VALUE="6">6</OPTION> 
    		<OPTION VALUE="7">7</OPTION> 
    		<OPTION VALUE="8">8</OPTION> 
    		<OPTION VALUE="9">9</OPTION> 
    		<OPTION VALUE="10">10</OPTION> 
    	</SELECT> 
    	<input type="hidden" value="4.75" name="0" /> //Prix de l'article.
    	<input type="hidden" value="73" name="0" />  //On en as besoin mais pas pour calculer le prix.
    	<br/></td> 
    				</tr> 
    <td> 
    //////////////FIN PREMIER ARTICLE//////////////
     
    /////////////DEBUT SECOND ARTICLE/////////////
    					7.90 &euro;
    					</td> 
    					<td">Qté.<br/><SELECT name="1-quantitee" onchange="calculerprix();"> //Quantitée que choisit le client.
    		<OPTION VALUE="1">1</OPTION> 
    		<OPTION VALUE="2">2</OPTION> 
    		<OPTION VALUE="3">3</OPTION> 
    		<OPTION VALUE="4">4</OPTION> 
    		<OPTION VALUE="5">5</OPTION> 
    		<OPTION VALUE="6">6</OPTION> 
    		<OPTION VALUE="7">7</OPTION> 
    		<OPTION VALUE="8">8</OPTION> 
    		<OPTION VALUE="9">9</OPTION> 
    		<OPTION VALUE="10">10</OPTION> 
    	</SELECT> 
    	<input type="hidden" value="7.90" name="1" /> //Prix de l'article.
    	<input type="hidden" value="89" name="1" />  //On en as besoin mais pas pour calculer le prix.
    	<br/></td> 
    				</tr>
     
    //////////FIN DU SECOND ARTICLE/////////////
     
    					<tr> 
    				<td>Prix total des articles : <span id="prixbox">??</span> euros<br/></td> 
    				</tr>
    Et du coté du javascript j'ai fait ca :

    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
     
    function writediv2(texte)
         {
         document.getElementById('prixbox').innerHTML = texte;
         }
    function calculerprix()
    {
    var prixtotal = 0;
    var nbart = document.form1.nb.value-1;
    while (nbart < 0) 
    {
    var quant1 = nbart+'-quantitee';
    var quant2 = document.form1.eval(quant1).value;
    var prix1 = document.form1.eval(nbart).value;
    prixtotal = prixtotal + (quant2*prix1);
    nbart--;
    }
    writediv2(prixtotal);
    }
    Voila donc mon code ne fonctionne pas (normal en même temps je fait jamais de javascript donc bon et j'ai pas trop le temps d'apprendre =/ ), alors j'aimerai bien un peu d'aide

    Merci à vous !

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    1- Tu ne passe pas dans la boucle.
    var nbart = document.form1.nb.value-1;
    while (nbart < 0)
    <input type="hidden" value="2" name="nb"/>
    2- Evite d'utiliser la valeur d'un attibut name ou id commencant par un chiffre.
    3-
    var quant2 = document.form1.eval(quant1).value;
    eval attend en parametre un string sous forme d'instruction javascript.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form1.elements[quant1].value

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Par défaut
    Merci de ton aide, alors j'ai suivi ce que t'as dit maintenant le HTML ressemble a ca :

    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
     
    <form method="POST" action="index.php" name="form1"> 
    				<input type="hidden" value="2" name="nb"/> //Le nombre d'article sur la page, ici 2 mais peut augmenter ou diminuer !
    <tr> 
    ///////////DEBUT PREMIER ARTICLE////////////
    					<td> 
    					4.75 &euro;
    					</td> 
    					<td">Qté.<br/><SELECT name="0-quantitee" onchange="calculerprix();"> //Quantitée que choisit le client.
    		<OPTION VALUE="1">1</OPTION> 
    		<OPTION VALUE="2">2</OPTION> 
    		<OPTION VALUE="3">3</OPTION> 
    		<OPTION VALUE="4">4</OPTION> 
    		<OPTION VALUE="5">5</OPTION> 
    		<OPTION VALUE="6">6</OPTION> 
    		<OPTION VALUE="7">7</OPTION> 
    		<OPTION VALUE="8">8</OPTION> 
    		<OPTION VALUE="9">9</OPTION> 
    		<OPTION VALUE="10">10</OPTION> 
    	</SELECT> 
    	<input type="hidden" value="4.75" name="prix-0" /> //Prix de l'article.
    	<input type="hidden" value="73" name="0" />  //On en as besoin mais pas pour calculer le prix.
    	<br/></td> 
    				</tr> 
    <td> 
    //////////////FIN PREMIER ARTICLE//////////////
     
    /////////////DEBUT SECOND ARTICLE/////////////
    					7.90 &euro;
    					</td> 
    					<td">Qté.<br/><SELECT name="1-quantitee" onchange="calculerprix();"> //Quantitée que choisit le client.
    		<OPTION VALUE="1">1</OPTION> 
    		<OPTION VALUE="2">2</OPTION> 
    		<OPTION VALUE="3">3</OPTION> 
    		<OPTION VALUE="4">4</OPTION> 
    		<OPTION VALUE="5">5</OPTION> 
    		<OPTION VALUE="6">6</OPTION> 
    		<OPTION VALUE="7">7</OPTION> 
    		<OPTION VALUE="8">8</OPTION> 
    		<OPTION VALUE="9">9</OPTION> 
    		<OPTION VALUE="10">10</OPTION> 
    	</SELECT> 
    	<input type="hidden" value="7.90" name="prix-1" /> //Prix de l'article.
    	<input type="hidden" value="89" name="1" />  //On en as besoin mais pas pour calculer le prix.
    	<br/></td> 
    				</tr>
     
    //////////FIN DU SECOND ARTICLE/////////////
     
    					<tr> 
    				<td>Prix total des articles : <span id="prixbox">??</span> euros<br/></td> 
    				</tr>
    Alors j'ai juste changé pour le prix j'ai mit au lieu juste du numero pour le nom de l'input j'ai mis prix-<ici le numero>.
    Et voilà le javascript :

    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
     
    function writediv2(texte)
         {
         document.getElementById('prixbox').innerHTML = texte;
         }
    function calculerprix()
    {
    var prixtotal = 0;
    var nbart = document.form1.nb.value-1;
    while (nbart  !< 0) 
    {
    var quant1 = nbart+'-quantitee';
    var prix1 = nbart+'-prix';
    var quant2 = document.form1.elements[quant1].value;
    var prix2 = document.form1.elements[prix1].value;
    prixtotal = prixtotal + (quant2*prix2);
    nbart--;
    }
    writediv2(prixtotal);
    }
    Le problème c'est que ca marche toujours pas donc j'ai du me planter quelque part non ?

    Merci a vous !

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Re,
    1-
    <input type="hidden" value="7.90" name="prix-1" />
    var prix1 = nbart+'-prix';
    2- En declarant les variables quant1 et prix1 dans la boucle, tu feras une redeclaration.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Par défaut
    J'ai fait ca mais ca marche toujours pas :
    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
    function writediv2(texte)
         {
         document.getElementById('prixbox').innerHTML = texte;
         }
    function calculerprix()
    {
    var prixtotal = 0;
    var nbart = document.form1.nb.value-1;
    var quant1 = nbart+'-quantitee';
    var prix1 = nbart+'-prix';
    while (nbart  !< 0) 
    {
    quant1 = nbart+'-quantitee';
    prix1 = nbart+'-prix';
    var quant2 = document.form1.elements[quant1].value;
    var prix2 = document.form1.elements[prix1].value;
    prixtotal = prixtotal + (quant2*prix2);
    nbart--;
    }
    writediv2(prixtotal);
    }

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Re,
    <input type="hidden" value="4.75" name="prix-0" />
    prix1 = nbart+'-prix';
    Tu ne l'as pas corrige, Montres nous ton code HTML et Javascript actuel pour tous voir.

Discussions similaires

  1. Fonction de calcul de prix TTC
    Par Shiva dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 22/08/2007, 19h11
  2. [MySQL] Aide envoie commande (calcul quantité + prix commande total)
    Par klue_ dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/05/2007, 11h49
  3. wsh VBS script de calcul de salaire net
    Par heinquoi dans le forum VBScript
    Réponses: 2
    Dernier message: 14/02/2007, 20h51
  4. Calculer un prix
    Par Roromix dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/09/2006, 09h40
  5. Calcul de prix unitaire moyen
    Par smail21 dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/11/2005, 12h10

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