Comment faire un total de nombre trouver par script

Comment faire un total de nombre trouver par script - HTML/CSS - Programmation

Marsh Posté le 06-11-2007 à 17:00:16    

Bonjour  
 
Sur mon site j'ai des listbox, quand les gens choisissent une valeur de la listbox un script va chercher la valeur ( ici des chiffres ) et la place dans une DIV spécifique à chaque listbox . J'aimerai faire le total de ses sommes des listbox dans la DIV prix total. Mais mon mon script calcultotal ne marche pas il est ajoute une aux autre a la queuleuleu ( résultat = 0400100010003000 € ) à la place de 5400 €. Avez une idée de l'erreur.
Merci d'avance
 
 

Code :
  1. <script language="javascript" type="text/javascript">
  2. function calculprix(){
  3. var iLongueur, iLongueurRestante;
  4.    iLongueur = document.getElementById('texte').value.length;
  5.    if (iLongueur>40) {
  6.       document.getElementById('texte').value = document.getElementById('texte').value.substring(0,40);
  7.       iLongueurRestante = 0;
  8.    }
  9.    else {
  10.       iLongueurRestante = iLongueur * 100;
  11.    }
  12.    if (iLongueurRestante <= 1)
  13.    document.getElementById('prixtext').innerHTML = iLongueurRestante + "&nbsp;€";
  14.    document.getElementById('prixtext').innerHTML = iLongueurRestante + "&nbsp;€";
  15. }
  16. </script>
  17. <script language="javascript" type="text/javascript">
  18. function calculcouleur(){
  19. var couleur;
  20. couleur = document.lien.couleur[document.lien.couleur.selectedIndex].value
  21. document.getElementById('prixcouleur').innerHTML = couleur  + "&nbsp;€";
  22. }
  23. </script>
  24. <script language="javascript" type="text/javascript">
  25. function calcultaille(){
  26. var taille;
  27. taille = document.lien.taille[document.lien.taille.selectedIndex].value
  28. document.getElementById('prixtaille').innerHTML = couleur + "&nbsp;€";
  29. }
  30. </script>
  31. <script language="javascript" type="text/javascript">
  32. function calculpolice(){
  33. var police;
  34. police = document.lien.police[document.lien.police.selectedIndex].value
  35. document.getElementById('prixpolice').innerHTML = couleur + "&nbsp;€";
  36. }
  37. </script>
  38. <script language="javascript" type="text/javascript">
  39. function calculstyle(){
  40. var style;
  41. style = document.lien.style[document.lien.style.selectedIndex].value
  42. document.getElementById('prixstyle').innerHTML = couleur + "&nbsp;€";
  43. }
  44. </script>
  45. <script language="javascript" type="text/javascript">
  46. function calcultotal(){
  47. var iLongueur, iLongueurRestante, couleur, taille, police, style;
  48.    iLongueur = document.getElementById('texte').value.length;
  49.    if (iLongueur>40) {
  50.       document.getElementById('texte').value = document.getElementById('texte').value.substring(0,40);
  51.       iLongueurRestante = 0;}
  52.    else { iLongueurRestante = iLongueur * 100;}
  53.    couleur = document.lien.couleur[document.lien.couleur.selectedIndex].value
  54.    taille = document.lien.taille[document.lien.taille.selectedIndex].value
  55.    police = document.lien.police[document.lien.police.selectedIndex].value
  56.    style = document.lien.style[document.lien.style.selectedIndex].value
  57.  
  58.    total = iLongueurRestante + police + taille + couleur + style
  59.    document.getElementById('prixtotal').innerHTML = total + "&nbsp;€";
  60. }
  61.    </script>


 
et du coté HTML

Code :
  1. <form id="lien" name="lien" method="post" action="formlien.php">
  2.      <p align="center">&nbsp;</p>
  3.     <div align="center">
  4.       <table width="419" height="117" bgcolor="#FFFFFF">
  5.         <tr>
  6.           <td width="45" class="texte"><div align="right" class="style43"><strong>Texte</strong></div></td>
  7.           <td width="287" class="texte"><span class="Style95">
  8.             <div align="left">
  9.               <input name="texte" type="text" class="texte" id="texte" size="50" maxlength="40" onblur="calculprix();" onfocus="calculprix();" onkeydown="calculprix();" onkeyup="calculprix();" />
  10.             </div>
  11.           </span></td>
  12.           <td width="71" class="menu"><div align="center" id="prixtext">0 &euro; </div></td>
  13.         </tr>
  14.         <tr>
  15.           <td class="texte"><div align="right" class="style43"><strong>Lien</strong></div></td>
  16.           <td class="texte"><span class="Style95">
  17.             <div align="left">
  18.               <input name="lien" type="text" class="texte" id="lien" value="http://www." size="50" maxlength="50" />
  19.             </div>
  20.           </span></td>
  21.           <td class="menu"><div align="center">0 &euro; </div></td>
  22.         </tr>
  23.         <tr>
  24.           <td class="texte"><div align="right" class="style43"><strong>Couleur</strong></div></td>
  25.           <td class="texte"><div align="left"><span class="Style95">
  26.   <select name="couleur" class="texte" id="couleur" onblur="calculcouleur(), calcultotal();" onfocus="calculcouleur(), calcultotal();" onkeydown="calculcouleur(), calcultotal();" onkeyup="calculcouleur(), calcultotal();" >
  27.               <option value="0">Noir [ + 0 &euro; ]</option>
  28.               <option value="1000">Rouge [ + 1000 &euro; ]</option>
  29.               <option value="1000">Violet [ + 1000 &euro; ]</option>
  30.               <option value="1000">Vert [ + 1000 &euro; ]</option>
  31.               <option value="1000">Bleu [ + 1000 &euro; ]</option>
  32.               <option value="1000">Orange [ + 1000 &euro; ]</option>
  33.             </select>
  34.           </span> </div></td>
  35.           <td class="menu"><div align="center" id="prixcouleur">0  &euro; </div></td>
  36.         </tr>
  37.         <tr>
  38.           <td class="texte"><div align="right" class="style43"><strong>Taille</strong></div></td>
  39.           <td class="texte"><div align="left"><span class="Style95">
  40.             <select name="taille" class="texte" id="taille" onblur="calcultaille(), calcultotal();" onfocus="calcultaille(), calculetotal();" onkeydown="calcultaille(), calcultotal();" onkeyup="calcultaille(), calcultotal();" >
  41.               <option value="0" selected="selected">8 [ + 0 &euro; ]</option>
  42.               <option value="400">10 [ + 400 &euro; ] </option>
  43.               <option value="600">12 [ + 600 &euro; ]</option>
  44.               <option value="800">14 [ + 800 &euro; ]</option>
  45.               <option value="1000">16 [ + 1000 &euro; ]</option>
  46.               <option value="2000">18 [ + 2000 &euro; ]</option>
  47.               <option value="3000">24 [ + 3000 &euro; ]</option>
  48.               <option value="4000">30 [ + 4000 &euro; ]</option>
  49.               <option value="36">36 [ + 5000 &euro; ]</option>
  50.             </select>
  51.           </span> </div></td>
  52.           <td class="menu"><div align="center" id="prixtaille">0 &euro; </div></td>
  53.         </tr>
  54.         <tr>
  55.           <td class="texte"><div align="right" class="style43"><strong>Police</strong></div></td>
  56.           <td class="texte"><div align="left"><span class="Style95">
  57.             <select name="police" class="texte" id="police" onblur="calculepolice();" onfocus="calculepolice();" onkeydown="calculepolice();" onkeyup="calculepolice();" >
  58.               <option value="0" selected="selected">Arial [ + 0 &euro; ]</option>
  59.               <option value="1000">Comic sans MS [ + 1000 &euro; ] </option>
  60.               <option value="1000">Mistral [ + 1000 &euro; ] </option>
  61.             </select>
  62.           </span> </div></td>
  63.           <td class="menu"><div align="center" id="prixpolice">0 &euro; </div></td>
  64.         </tr>
  65.         <tr>
  66.           <td class="texte"><div align="right" class="style43"><strong>Style</strong></div></td>
  67.           <td class="texte"><div align="left"><span class="Style95">
  68.             <select name="style" class="texte" id="style" onblur="calculstyle(), calcultotal();" onfocus="calculstyle(), calculetotal();" onkeydown="calculstyle(), calcultotal();" onkeyup="calculstyle(), calcultotal();" >
  69.               <option value="0" selected="selected">Normal [ + 0 &euro; ]</option>
  70.               <option value="1000">Italique [ + 1000 &euro; ]</option>
  71.               <option value="gras">Gras [ + 3000 &euro; ]</option>
  72.             </select>
  73.           </span> </div></td>
  74.           <td class="menu"><div align="center" id="prixstyle">0 &euro; </div></td>
  75.         </tr>
  76.         <tr>
  77.           <td bgcolor="#99CCFF" class="texte Style93"><div align="right" class="Style97">Total</div></td>
  78.           <td bgcolor="#99CCFF">&nbsp;</td>
  79.           <td bgcolor="#99CCFF" class="menu"><div align="left" class="Style97" id="prixtotal">
  80.             <div align="center">0 &euro; </div>
  81.           </div></td>
  82.         </tr>
  83.       </table>
  84.       <p><a href="aper&ccedil;u.php"><strong>Aper&ccedil;u des liens</strong></a></p>
  85.       <p>
  86.         <label>
  87.         <input type="submit" name="Submit" value="Suivant" />
  88.         </label>
  89.       </p>
  90.     </div>
  91.   </form>

Reply

Marsh Posté le 06-11-2007 à 17:00:16   

Reply

Marsh Posté le 06-11-2007 à 17:20:50    

regarde du cote de parseINt pour extraire la valeur numérique dun'e chaine de caractères

Reply

Marsh Posté le 06-11-2007 à 18:08:43    

ça marche impec merci

Reply

Marsh Posté le 06-11-2007 à 18:23:11    

j'ai une autre question, j'ai cette listbox et ce script. Pourquoi le nombre (ici, 120)  ne se met pas dans la div prixstyle
 

Code :
  1. <script language="javascript" type="text/javascript">
  2. function calculpolice(){
  3. var police, tpolice;
  4. style = document.lien.style[document.lien.style.selectedIndex].value
  5. if (police = arial)
  6. tpolice = 120 ;
  7. document.getElementById('prixpolice').innerHTML = tpolice + "&nbsp;€";
  8. }
  9. </script>


 

Code :
  1. <select name="police" class="texte" id="police" onblur="calculpolice();" onfocus="calculpolice();" onkeydown="calculpolice();" onkeyup="calculpolice();" >
  2. <option value="arial" selected="selected">Arial [ + 0 &euro; ]</option>
  3. <option value="comic">Comic sans MS [ + 1000 &euro; ] </option>
  4. <option value="mistral">Mistral [ + 1000 &euro; ] </option>
  5. </select>

Message cité 1 fois
Message édité par thesnoobrats le 06-11-2007 à 18:24:30
Reply

Marsh Posté le 06-11-2007 à 19:36:23    

police est jamais initiliasé non?  
 
et ton code est assez crade quand meme
 
au lieu de document.lien.style
 
pourquoi tu n'utilise pas document.getElementById('style')
 
et sinon,,unebarre d'outile comms webdevelopper ( pour firefox ) t'affichera les erreurs js

Reply

Marsh Posté le 07-11-2007 à 05:08:41    

flo850 a écrit :


et sinon,,unebarre d'outile comms webdevelopper ( pour firefox ) t'affichera les erreurs js


C'esdt la console JS de FF qui indique les erreur [:dawa] pas la web dev toolbar, mais ca sera un plus ;)
et sinon, de nos jours il n'est pas envisageable de coder du JS sans avoir firebug

Reply

Marsh Posté le 07-11-2007 à 09:39:15    

flo850 a écrit :

police est jamais initiliasé non?


+1

flo850 a écrit :

et ton code est assez crade quand meme


+1
Au rayon port'nawak on notera l'affectation (au lieu du test d'égalité) d'une beauté chatoyante:

Code :
  1. ...
  2. if (police = arial)
  3. tpolice = 120 ;
  4. ...


Message édité par anapajari le 07-11-2007 à 09:39:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed