[JAVASCRIPT] Previsualisation prix TTC

Previsualisation prix TTC [JAVASCRIPT] - HTML/CSS - Programmation

Marsh Posté le 22-01-2007 à 09:53:24    

yep all !
 
Voila je souhaiterais mettre une previsualisation du prix TTC apres avoir le prix HT, (Pour permettre de voir si les prix proposé sont psychologiques ^^)
Donc j'ai deja fait le formulaire, et je pense que cette previsualisation est possible via le javascript ;) Mais malheureusement mes connaissances ne me permettent pas d'y arriver seul :/
 
Head :

Code :
  1. <SCRIPT LANGUAGE="JavaScript">
  2. function htttc(ht)
  3. {
  4.  var oVpxHT = document.getElementById("pxhorsTaxe" );
  5.  var oVvalTVA = document.getElementById("valtxTVA" );
  6.  return(oVpxHT*(1+(oVvalTVA/100));
  7. }
  8. </SCRIPT>


 
Mon formulaire :

Code :
  1. <p>Nom* :<p>
  2. <input type='text'  name='nom'  class="formContact3" value="<?php echo $nom; ?>">
  3. <p>Prix unitaire :</p>
  4. HT* : <input type='text'  name='pxHT'  class="formContact2" value="<?php echo $pxHT; ?>" id="pxhorsTaxe">
  5. TVA* :
  6. <select size='1' size='20' name='tauxTVA' class="formContact2" id="valtxTVA" onclick="ht-ttc(tauxTVA.value())">
  7.   <option value='<?php echo $txTVA; ?>'><?php echo $txTVA; ?> %</option>
  8.   <option value='19.6'>19.6 %</option>
  9.   <option value='5.5'>5.5 %</option>
  10. </select>
  11. TTC* : <input type='text'  name='pxTTC'  class="formContact2" value="">
  12. <p><input type="image" alt="Envoyer" src="images/BTenvoyer.gif" class="boutonEnvoyer" /></p>
  13. </form>


 
Si vous pouviez me guider ;) Merci d'avance !


Message édité par sharck1987 le 22-01-2007 à 09:59:10
Reply

Marsh Posté le 22-01-2007 à 09:53:24   

Reply

Marsh Posté le 22-01-2007 à 10:54:36    

Quelle ligne pose un problème ?
 
Peut-être qu'il faudrait convertir les chaines de caractères en nombres, par exemple, en remplaçant

return(oVpxHT*(1+(oVvalTVA/100));

par

return(Number(oVpxHT)*(1+(Number(oVvalTVA)/100));


Reply

Marsh Posté le 22-01-2007 à 11:59:44    

oui, merci ms comment mettre le retour dans le input prévu a cet effet c'est a dire le pxTTC :)

Reply

Marsh Posté le 22-01-2007 à 14:18:26    

old-school:

Code :
  1. document.lenamedetonformulaire.pxHT.value = lavaleurquetuviensdecalculer;


plus mieux, tu rajoutes un id="prixHT" à ton input et tu fais:

Code :
  1. document.getElementById('prixHT').value = lavaleurquetuviensdecalculer;

Reply

Marsh Posté le 22-01-2007 à 16:01:41    

Effectivement c'etait simple :p
 
Merci, par contre ce qui me retourne est NaN (apres recherche not a number ^^)
 
J'ai tenter de parseInt, ParseFloat, mais rien n'y fait il ne veux rien comprendre !
 
je remets mon script :

Code :
  1. function htttc()   
  2. {       
  3.  var oVpxHT = document.getElementById("pxhorsTaxe" );       
  4.  var oVvalTVA = document.getElementById("valtxTVA" ); 
  5.  var oVtotal = Number(oVpxHT)*(1+(Number(oVvalTVA)/100));
  6.  document.getElementById('prixTTC').value = oVtotal;
  7.  return (oVtotal);
  8. }


 
Merci les copains  :hello:

Reply

Marsh Posté le 22-01-2007 à 16:06:27    

Code :
  1. var oVpxHT = document.getElementById("pxhorsTaxe" ).value;       
  2.             var oVvalTVA = document.getElementById("valtxTVA" ).value;

Reply

Marsh Posté le 22-01-2007 à 16:30:44    

Code :
  1. function htttc()   
  2. {       
  3.  var oVpxHT = document.getElementById("pxhorsTaxe" ).value;                   
  4.  var oVvalTVA = document.getElementById("valtxTVA" ).value;
  5.  var oVtotal = Number(oVpxHT)*(1+(Number(oVvalTVA)/100));
  6.  var oVtotal = (Math.round(oVtotal*100))/100;
  7.  document.getElementById('prixTTC').value = oVtotal;
  8.  return (oVtotal);
  9. }


 
Nikel, je mets la solution si quelqu'un passe par la ;)
 
J'ai même ajouter un arrondi a 2 chiffres après la virgule. ah nan justement pas la virgule puisque elle n'est pas prise en compte, mais si je mets un point ds le champs ht, la conversion se fait bien. Ce n'est qu'un detail :D
 
 
Merci à toi anapajari  

Reply

Marsh Posté le 22-01-2007 à 16:35:48    

tu peux faire un tonchamps.value.replace(/,/,'.')  avec de le caster en number pour contourner le problème.

Reply

Marsh Posté le 22-01-2007 à 16:40:48    

ouhaaa :/ Pas tout compris la ;)

Reply

Marsh Posté le 22-01-2007 à 16:50:52    

euh faut dire aussi que j'ai un peu de mal en français en ce moment :o

Citation :

avec de le caster


=
"Avant de le caster"
 
Donc on va la faire moins l33t, tu peux remplacer la virgule par un point ( en utilisant la méthode .replace) avant de faire le "number" sur ton champs.  

Reply

Marsh Posté le 22-01-2007 à 16:50:52   

Reply

Marsh Posté le 22-01-2007 à 16:53:06    

j'essaye ca ;) Thanks

Reply

Sujets relatifs:

Leave a Replay

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