Problème de calcul

auremax Messages postés 14 Statut Membre -  
 Profil bloqué -
Bonjour,
j'ai créé un formulaire de commande avec un calcul automatique du total, mais voilà cela ne marche pas mais je ne sais pas ou cela coince.
Je vous met mon code de ma page html:
<dl class="Style2"><p><strong>Nombre d'exemplaires ?</strong></p>
<dl>
<dd>
<div id="Produits" visibility: visible">
<form name="Form_Produits" enctype="text/plain">
<table width="505">
<tr>
<td width="57"><input type="text" size="5" name="DVD" class="TexteMarron12px" value="0" onKeyUp="CalcTotal();"></td>
<td width="434" class="Style2"><b>DVD</b>  à 20.-- Frs/pièce (frais de port en sus)</td>
</tr>
<tr>
<td width="57"><input type="text" size="5" name="Pougnon" class="TexteMarron12px" value="0" onKeyUp="CalcTotal();"></td>
<td class="Style2" width="434"><b>Pougnon</b> à   3.-- Frs/pièce (frais de port en sus) </td>
</tr>
<tr>
<td width="57"><input type="text" size="5" name="Recueil" class="TexteMarron12px" value="0" onKeyUp="CalcTotal();"></td>
<td class="Style2" width="434"><b>Recueil de parties</b>   5.-- Frs/pièce (frais de port en sus)
</td>
</tr>
<tr>
<td width="57">
<hr>
</td>
<td class="Style2" width="434"> </td>
</tr>
<tr>
<td width="57"><input type="text" size="5" name="Total" class="TexteMarron14px" value="0" readonly></td>
<td class="Style2" width="434">TOTAL DE LA COMMANDE </td>
</tr>
</table>
</form>
</div>

et ensuite le script de Javascript:
var Tab_Prod = ["DVD: ", "Pougnon: ", "Recueil de parties: ", "TOTAL en SFr: "];
var Tab_Prix = [20, 3, 5, 0];

// ************************************************************************************************************************
// Chaque modif sur le formulaire est automatiquement reportée dans le calcul du total
// ************************************************************************************************************************
function CalcTotal(test)
{
var Cout = 0;
if (document.Form_Adresse.Manifestations.value == "08/01")
{
for (var i = 0; i < document.Form_Aout.elements.length - 2; i++)
{
if (isNaN(document.Form_Aout.elements[i].value) ||
document.Form_Aout.elements[i].value.indexOf("-") != -1 ||
document.Form_Aout.elements[i].value.indexOf(".") != -1 ||
document.Form_Aout.elements[i].value.indexOf(",") != -1)
{
window.alert("PROBLEME: Vérifiez svp les quantités que vous avez saisies !");
document.Form_Aout.Total.value = 0;
return "NON";
}
else
Cout += document.Form_Aout.elements[i].value * Tab_PrixAout[i];
}

document.Form_Aout.Total.value = Cout;
}
else
{
for (var i = 0; i < document.Form_Produits.elements.length - 2; i++)
{
if (isNaN(document.Form_Produits.elements[i].value) ||
document.Form_Produits.elements[i].value.indexOf("-") != -1 ||
document.Form_Produits.elements[i].value.indexOf(".") != -1 ||
document.Form_Produits.elements[i].value.indexOf(",") != -1)
{
window.alert("PROBLEME: Vérifiez svp les quantités que vous avez saisies !");
document.Form_Produits.Total.value = 0;
return "NON";
}
else
{
if ((i == 10 || i == 11) && (document.Form_Produits.elements[i].value < 20) &&
(document.Form_Produits.elements[i].value != 0))
{
window.alert("ATTENTION: Les quiches et les ramequins ne se commandent pas à moins de 20 pièces !");
document.Form_Produits.elements[i].value = 0;
}
Cout += document.Form_Produits.elements[i].value * Tab_Prix[i];
}
}

document.Form_Produits.Total.value = Cout;
}
if (test == "tester" && Cout == 0)
{
window.alert("PROBLEME: Vous n'avez pas selectionné de produit !");
document.Form_Produits.Total.value = 0;
return "NON";
}
return "OUI";
}

Merci de votre aide
A voir également:

4 réponses

Profil bloqué
 
salut,que t'affiche la page?
0
auremax Messages postés 14 Statut Membre
 
Il m'affiche juste mais ne fait pas les calculs automatiquement
0
Profil bloqué
 
Déjà ce formulaire là:"document.Form_Adresse.Manifestations.value",je vois ke ça n'existe pas.
0
Profil bloqué
 
essai ce code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Vente</title>
<script type="text/javascript">
var Tab_Prod = ["DVD: ", "Pougnon: ", "Recueil de parties: ", "TOTAL en SFr: "];
var Tab_Prix = [20, 3, 5, 0];

// ****************************************************************************************** ******************************
// Chaque modif sur le formulaire est automatiquement reportée dans le calcul du total
// ****************************************************************************************** ******************************
function CalcTotal()
{
var Cout = 0;
/*
if (document.Form_Adresse.Manifestations.value == "08/01")
{
for (var i = 0; i < document.Form_Aout.elements.length - 2; i++)
{
if (isNaN(document.Form_Aout.elements[i].value) ||
document.Form_Aout.elements[i].value.indexOf("-") != -1 ||
document.Form_Aout.elements[i].value.indexOf(".") != -1 ||
document.Form_Aout.elements[i].value.indexOf(",") != -1)
{
window.alert("PROBLEME: Vérifiez svp les quantités que vous avez saisies !");
document.Form_Aout.Total.value = 0;
return "NON";
}
else
Cout += document.Form_Aout.elements[i].value * Tab_PrixAout[i];
}

document.Form_Aout.Total.value = Cout;
}
else
{*/
for (var i = 0; i < document.Form_Produits.elements.length - 2; i++)
{
if (isNaN(document.Form_Produits.elements[i].value) ||
document.Form_Produits.elements[i].value.indexOf("-") != -1 ||
document.Form_Produits.elements[i].value.indexOf(".") != -1 ||
document.Form_Produits.elements[i].value.indexOf(",") != -1)
{
window.alert("PROBLEME: Vérifiez svp les quantités que vous avez saisies !");
document.Form_Produits.Total.value = 0;
return "NON";
}
else
{
if ((i == 10 || i == 11) && (document.Form_Produits.elements[i].value < 20) &&
(document.Form_Produits.elements[i].value != 0))
{
window.alert("ATTENTION: Les quiches et les ramequins ne se commandent pas à moins de 20 pièces !");
document.Form_Produits.elements[i].value = 0;
}
Cout += document.Form_Produits.elements[i].value * Tab_Prix[i];
}

document.Form_Produits.Total.value = Cout;
}
if ( Cout == 0)
{
window.alert("PROBLEME: Vous n'avez pas selectionné de produit !");
document.Form_Produits.Total.value = 0;
return "NON";
}
return "OUI";
}
</script>
</head>
<body>
<dl class="Style2"><p><strong>Nombre d'exemplaires ?</strong></p></dl>
<dd>
<div id="Produits" visibility: visible>
<form name="Form_Produits" enctype="text/plain">
<table width="505">
<tr>
<td width="57"><input type="text" size="5" name="DVD" class="TexteMarron12px" value="0" onchange="javascript:CalcTotal();"></td>
<td width="434" class="Style2"><b>DVD</b> à 20.-- Frs/pièce (frais de port en sus)</td>
</tr>
<tr>
<td width="57"><input type="text" size="5" name="Pougnon" class="TexteMarron12px" value="0" onchange="javascript:CalcTotal();"></td>
<td class="Style2" width="434"><b>Pougnon</b> à 3.-- Frs/pièce (frais de port en sus) </td>
</tr>
<tr>
<td width="57"><input type="text" size="5" name="Recueil" class="TexteMarron12px" value="0" onchange="javascript:CalcTotal();"></td>
<td class="Style2" width="434"><b>Recueil de parties</b> 5.-- Frs/pièce (frais de port en sus)
</td>
</tr>
<tr>
<td width="57">
<hr>
</td>
<td class="Style2" width="434"> </td>
</tr>
<tr>
<td width="57"><input type="text" size="5" name="Total" class="TexteMarron14px" value="0" readonly></td>
<td class="Style2" width="434">TOTAL DE LA COMMANDE </td>
</tr>
</table>
</form>
</div>
</body>
</html>
0