Calcul dans un formulaire

Lipton3198 Messages postés 11 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 19 avril 2017 - 24 juil. 2006 à 21:28
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 25 juil. 2006 à 22:27
Bonjour,


Je cherche à faire un calcul en JavaScript dans un formulaire html et je n'y arrive pas.
Je veux multiplier la quantité par le montant et additionner 7.00$ pour mettre le résultat dans la case SousTotal.
Ensuite, je veux prendre le résultat du SousTotal multiplier par la taxe à 13.95% pour mettre le résultat dans la case Total.

Voici mon code:
<script type="text/javascript">
function Total()
{
var Quantité=new Number(document.formulaire.Quantité.value);
var Montant=new Number(document.formulaire.Montant.value);


var SousTotal=Number(Quantité*Montant+7.00);
var Total=Number(SousTotal*13.95/100);


document.formulaire.Total.value=Total;
}
</script>

et ce que je mis dans mon formulaire.
<TD align=middle>Quantité:
*</TD>
                <TD align=middle>Montant:
+</TD>
                <TD align=middle>Transport:
=</TD>
                <TD align=middle>Sous-Total:
*</TD>
                <TD align=middle>Taxe-Taux 13.95%:
=</TD>
                <TD align=middle>TOTAL:
</td>
              </tr>


Pour voir le formulaire, c'est ici.

Merci pour votre aide que j'apprécierais beaucoup.

 Lipton3198

7 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
25 juil. 2006 à 06:14
B

onjour...

Il est préférable de changer le Nom de ta fonction comme tu as un champ qui s'appelle Total, ceci étant les données formulaire sont des données textes qu'il convient de convertir en nombre avec parseFloat par exemple

function Calcul(){
  var Quantité  = parseFloat (document.formulaire.Quantité.value);
  var Montant  = parseFloat(document.formulaire.Montant.value);
  var SousTotal= parseFloat (Quantité*Montant) +7.00;
  var Total      = parseFloat(SousTotal) *13.95 /100;
 
  document.formulaire.SousTotal.value=SousTotal;
  document.formulaire.Total.value=Total;
}



;0)
0
Lipton3198 Messages postés 11 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 19 avril 2017
25 juil. 2006 à 15:13
Bonjour,

Merci pour l'aide.
J'ai essayé le code et lorsque je clique sur la case SousTotal, le calcul ne se fait pas et il y a un petit triangle jaune qui apparaît à gauche dans la barre d'état, ce qui signifie qu'il y a une erreur.
Que dois-je mettre comme code dans mon tableau?


Est-ce
onClick="Calcul()"
onChange="Calcul()"
parseFloat="Calcul()"
onBlur="Calcul()"



ou autre chose et j'imagine que je le mets seulement aux ligne du SousTotal et Total?.

si vous désirez essayer le calcul dans le formulaire, vous cliquez ici, vous le trouverez à Bon de commande.



à bientôt....






 Lipton3198
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
25 juil. 2006 à 17:05
B

onjour...

on doit retrouver dans le tableau l'appel à  la fonction par l'événement onClick soit...




onClick="Calcul()"
>
onClick="Calcul()"
>












;0)
0
Lipton3198 Messages postés 11 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 19 avril 2017
25 juil. 2006 à 19:22
Bonjour,

J'ai finalement réussi à faire le calcul. Ce qui me manque,
Premièrement...
c'est que j'aimerais voir le signe de dollar $ s'afficher dans les cases monétaires.
Deuxièment....
Réussir à compléter les décimales du pourcentage via la taxe. ex.: si j'ai 19.38771 , j'aimerais le voir affiché comme : 19.39

Pensez-vous que c'est possible à faire, si oui, une petite idée du comment?
Merci, et à bientôt

Mon code java...

<script language=JavaScript>
function Calcule()
{
var qt
var pr
var tr
var st
var tx
var tt
qt=document.setup.Quantité.value
pr=document.setup.Prix.value
tr=document.setup.Transport.value
tx=document.setup.Taxe.value
st=qt*pr+7.00
document.setup.SousTotal.value=st
tx=st*13.95/100
document.setup.Taxe.value=tx
tt=st+tx
document.setup.Total.value=tt
}
</script>

Mon code html...

<TD align=middle>Quantité:
</TD>
                <TD align=middle>Montant:
</TD>
                <TD align=middle>Transport:
</TD>
                <TD align=middle>Sous-Total:
</TD>
                <TD align=middle>Taxe-Taux 13.95%:
</TD>
                <TD align=middle>TOTAL:
</td>
              </tr>
              <tr>
                <td colspan=7 align=center>&nbsp; </td>
              </tr>

 Lipton3198
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
25 juil. 2006 à 19:47
B
onjour...







Premièrement...





il suffit de rajouter $ par exemple document.setup.Taxe.value= tx + "$"

Deuxièment....




Pour arrondir une valeur on peut utiliser l'objet Math comme ceci
//----------------------------
function ARRONDI( nbr_, dec_){
  var Result = 0;
  var Multi  = Math. pow( 10, dec_); // retourne 10 puissance dec_
  var Result = nbr_ * Multi;
  Result =   Math.r ound( Result); // Arrondi à l’entier le plus proche.
  Result =  Result / Multi;
  return( Result);
}



;0)
0
Lipton3198 Messages postés 11 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 19 avril 2017
25 juil. 2006 à 21:01
Bonjour,

Merci beaucoup pour ta patience et ton aide, tout fonctionne à merveille.

PS. Très bon forum d'aide, je vais vous recommander.

 Lipton3198
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
25 juil. 2006 à 22:27
B
onsoir

...
Merci de penser à accepter la réponse, et heueux de t'avoir été utile...


;0)
0
Rejoignez-nous