Calcul de tva à 5.5 et 19.6
Bonjour alors voici je suis en train de faire un bon de commande mais je n'arrive pas à résoudre un petit pb :
Je voudrais choisir entre deux taux de tva et que le calcul s'effectue en fonction de ce taux.
Voici mon code JS
Code:
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
function calculTotal(letter)
{
var Quantite = parseFloat(document.getElementById("Quantite" + letter).value);
var Prix = parseFloat(document.getElementById("Prix" + letter).value);
if (Quantite != "" && Prix != "")
{
document.getElementById("Total" + letter).value = Quantite * Prix;
}
calculMontant();
}
function test_champ(champ) {
expr_reg = /^\d*$/ ;
// Ci-dessus : expression régulière qui match 0,1 ou plusieurs chiffres ;
// de cette façon on vérifie que l'utilisateur entre bien un nombre entier
if ( expr_reg.test(champ.value) ) {
// c'est bien un nombre entier
calcul_form() ;
} else {
// ce n'est pas un nombre entier
alert ("Ce n'est par un nombre entier !") ;
document.form1.elements[champ.name].value = "" ; // on efface la valeur entrée erronée
calcul_form() ;
}
}
function calculMontant()
{
var TotalA = parseFloat(document.getElementById("TotalA").value);
var TotalB = parseFloat(document.getElementById("TotalB").value);
var TotalC = parseFloat(document.getElementById("TotalC").value);
var TotalD = parseFloat(document.getElementById("TotalD").value);
var TotalE = parseFloat(document.getElementById("TotalE").value);
var TotalF = parseFloat(document.getElementById("TotalF").value);
var TotalG = parseFloat(document.getElementById("TotalG").value);
var TotalH = parseFloat(document.getElementById("TotalH").value);
var TotalI = parseFloat(document.getElementById("TotalI").value);
var TotalJ = parseFloat(document.getElementById("TotalJ").value);
var TotalK = parseFloat(document.getElementById("TotalK").value);
var Total = TotalA + TotalB + TotalC + TotalD + TotalE + TotalF + TotalG + TotalH + TotalI + TotalJ + TotalK ;
document.getElementById("montant").value = Total;
document.getElementById("TVA").value = Total * 0.196;
document.getElementById("TTC").value = Total + Total * 0.196;
}
function champ_verrouille(champ,valeur) {
// Remarque : en HTML 4.0, il existe un attribut "read-only" pour la
// balise <INPUT TYPE=text> qui interdira de modifier un champ
// mais ce que je fais ci-dessous est beaucoup plus sûr !!!
// alert ("Ce champ de peut pas être modifié !") ;
document.form1.elements[champ.name].value = valeur ; // on remet "valeur" initiale dans champ
}
function soumettre_form() {
if ( document.forms.form1.total.value == 0 ) {
alert ("Vous n'avez rien commandé !\n => commande non soumise") ;
return false ;
} else {
// Les 2 lignes ci-dessous devraient être activées pour réellement passer le form. à script CGI
// document.form1.method = "POST" ;
// document.form1.action = ;
document.write ("<H3 ALIGN=center>Commande passée\n pour un montant de " +
document.forms.form1.total.value + " Frs</H3>") ;
document.close () ;
return true ;
}
} |
Et voici le code html qui lui correspond :
Code:
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
<BODY BGCOLOR="white" >
<table width="100%">
<!--utilisation d'un tableau qui occupera toute la page-->
<tr>
<td>
<table width="100%" align="center" border=1>
<tr>
<td align="center">
VILLE DE <BR>
1, rue Pasteur<BR>
BP9<BR>
Tel : 0321645570<BR>
Fax : 0321645583<BR>
Mel : <BR>
Mel : <BR>
</td>
<td align="center">
<FORM id="form_commande">
Nom du fournisseur :
<INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGth="20">
<BR>
Adresse du fournisseur :
<INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20">
<BR>
Ville :
<INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20">
<BR>
FAX :
<INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20">
<BR>
LIEU DE LIVRAISON
<SELECT NAME="LIEU"
<OPTION VALUE="st">Service technique
<OPTION SELECTED VALUE="m">Mairie
<OPTION VALUE="elc">Education Loisirs et Citoyenneté
</SELECT>
</td>
<td align="center">
<?php
echo "Date du jour : ".date("d-m-Y")."<br>";
//affiche la date du jour d'utilisation du serveur par le client
?>
<BR>Action</BR>
<INPUT TYPE="checkbox" NAME="Livraison"> Livraison
<INPUT TYPE="checkbox" NAME="Retrait"> Retrait
<INPUT TYPE="checkbox" NAME="Autre"> Autre
<INPUT TYPE="checkbox" NAME="Transmission" CHECKED> Transmettre au fournisseur
</td>
<tr>
<td colspan=4 align="center">
Ne seront reconnus par le Ville de Divion que les services faits en exécution dun bon de commande régulier dûment numéroté, visé et signé par le responsable achat
</td>
</tr>
<TABLE width="100%" BORDER="1" CELLSPACING="0" BGCOLOR="#FFFFAA" >
<TR BGCOLOR="#CCCCCC">
<TH WIDTH=70%><B>Réference fournisseur et désignation</B>
<TH >Quantité
<TH>Prix unitaire
<TH>Prix total HT
</TR>
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteA" NAME="QuantiteA" SIZE="3" MAXLENGTH="4" onchange="calculTotal('A')" onkeyup="calculTotal('A')" value="0" >
<TH><INPUT TYPE="text" id="PrixA" NAME="PrixA" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('A')" onkeyup="calculTotal('A')" value="0" >
<TH><input name="TotalA" type="text" id="TotalA" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteB" NAME="QuantiteB" SIZE="3" MAXLENGTH="4" onchange="calculTotal('B')" onkeyup="calculTotal('B')" value="0" >
<TH><INPUT TYPE="text" id="PrixB" NAME="PrixB" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('B')" onkeyup="calculTotal('B')" value="0" >
<TH><input name="TotalB" type="text" id="TotalB" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteC" NAME="QuantiteC" SIZE="3" MAXLENGTH="4" onchange="calculTotal('C')" onkeyup="calculTotal('C')" value="0" >
<TH><INPUT TYPE="text" id="PrixC" NAME="PrixC" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('C')" onkeyup="calculTotal('C')" value="0" >
<TH><input name="TotalC" type="text" id="TotalC" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteD" NAME="QuantiteD" SIZE="3" MAXLENGTH="4" onchange="calculTotal('D')" onkeyup="calculTotal('D')" value="0" >
<TH><INPUT TYPE="text" id="PrixD" NAME="PrixD" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('D')" onkeyup="calculTotal('D')" value="0" >
<TH><input name="TotalD" type="text" id="TotalD" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteE" NAME="QuantiteE" SIZE="3" MAXLENGTH="4" onchange="calculTotal('E')" onkeyup="calculTotal('E')" value="0" >
<TH><INPUT TYPE="text" id="PrixE" NAME="PrixE" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('E')" onkeyup="calculTotal('E')" value="0" >
<TH><input name="TotalE" type="text" id="TotalE" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteF" NAME="QuantiteF" SIZE="3" MAXLENGTH="4" onchange="calculTotal('F')" onkeyup="calculTotal('F')" value="0" >
<TH><INPUT TYPE="text" id="PrixF" NAME="PrixF" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('F')" onkeyup="calculTotal('F')" value="0" >
<TH><input name="TotalF" type="text" id="TotalF" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteG" NAME="QuantiteG" SIZE="3" MAXLENGTH="4" onchange="calculTotal('G')" onkeyup="calculTotal('G')" value="0" >
<TH><INPUT TYPE="text" id="PrixG" NAME="PrixG" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('G')" onkeyup="calculTotal('G')" value="0" >
<TH><input name="TotalG" type="text" id="TotalG" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteH" NAME="QuantiteH" SIZE="3" MAXLENGTH="4" onchange="calculTotal('H')" onkeyup="calculTotal('H')" value="0" >
<TH><INPUT TYPE="text" id="PrixH" NAME="PrixH" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('H')" onkeyup="calculTotal('H')" value="0" >
<TH><input name="TotalH" type="text" id="TotalH" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteI" NAME="QuantiteI" SIZE="3" MAXLENGTH="4" onchange="calculTotal('I')" onkeyup="calculTotal('I')" value="0" >
<TH><INPUT TYPE="text" id="PrixI" NAME="PrixI" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('I')" onkeyup="calculTotal('I')" value="0" >
<TH><input name="TotalI" type="text" id="TotalI" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteJ" NAME="QuantiteJ" SIZE="3" MAXLENGTH="4" onchange="calculTotal('J')" onkeyup="calculTotal('J')" value="0" >
<TH><INPUT TYPE="text" id="PrixJ" NAME="PrixJ" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('J')" onkeyup="calculTotal('J')" value="0" >
<TH><input name="TotalJ" type="text" id="TotalJ" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteK" NAME="QuantiteK" SIZE="3" MAXLENGTH="4" onchange="calculTotal('K')" onkeyup="calculTotal('K')" value="0" >
<TH><INPUT TYPE="text" id="PrixK" NAME="PrixK" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('K')" onkeyup="calculTotal('K')" value="0" >
<TH><input name="TotalK" type="text" id="TotalK" onchange="calculMontant()" value="0" />
<tr>
<td> </td>
<td> </td>
<td><strong>Total Montant</strong></td>
<td><strong>
<input type="text" name="montant" id="montant" onClick="calculMontant()" value="0" />
</strong></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Dont TVA 19,6%</td>
<td><input type="text" name="TVA" id="TVA" value="0" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Total TTC</td>
<td><input type="text" name="TTC" id="TTC" value="0" /></td>
</tr>
</tbody>
</table>
</fieldset>
<p>
<label>
<input type="submit" name="envoyer" id="envoyer" value="Envoyer" />
</label>
</p>
</form>
</BODY> |
De plus je pense que ce code peut être optimisé si jamais vous avez des idées je suis preneur.
Cordialement
Cheg