Calcul dans un formulaire

Signaler
Messages postés
11
Date d'inscription
mardi 16 mai 2006
Statut
Membre
Dernière intervention
19 avril 2017
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
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

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
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)
Messages postés
11
Date d'inscription
mardi 16 mai 2006
Statut
Membre
Dernière intervention
19 avril 2017

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
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
B

onjour...

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




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












;0)
Messages postés
11
Date d'inscription
mardi 16 mai 2006
Statut
Membre
Dernière intervention
19 avril 2017

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
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
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)
Messages postés
11
Date d'inscription
mardi 16 mai 2006
Statut
Membre
Dernière intervention
19 avril 2017

Bonjour,

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

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

 Lipton3198
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
B
onsoir

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


;0)