Problème d'alerte Javascript

Résolu/Fermé
smoky184 Messages postés 121 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 22 janvier 2014 - 24 sept. 2012 à 16:11
smoky184 Messages postés 121 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 22 janvier 2014 - 27 sept. 2012 à 10:52
Bonjour,

Je suis en train de faire un feuille de comptage de caisse en html/javascipt

Elle se compose de :

1 PHP de calculs
1 JS pour les calculs
1 JS pour la vérification
1 PHP de résultats

Mon problème est que la vérification ne fait pas ce que je lui demande. A savoir que lorsque qu'on rajoute le montant des distributeur elle me trouve une différence de 0.00€ même quand il n'y a pas d'erreur.

J'ai beau retourné le problème dans tout les sens je ne trouve pas le soucis

Je vous laisse au cas ou mes page.

Calcul.php :

<head>
<link rel="stylesheet" href="template.css" type="text/css" />
<script type="text/javascript" src="calculs.js"></script>
<script type="text/javascript" src="verif.js"></script>
<script type="text/javascript" src="bulle.js"></script>

<script type="text/javascript" >
function trans()
{
	document.getElementById('nombre1t').value = document.form1.nombre1.value;
	document.getElementById('nombre2t').value = document.form1.nombre2.value;
	document.getElementById('nombre3t').value = document.form1.nombre3.value;
	document.getElementById('nombre4t').value = document.form1.nombre4.value;
	document.getElementById('nombre5t').value = document.form1.nombre5.value;
	document.getElementById('nombre6t').value = document.form1.nombre6.value;
	document.getElementById('nombre7t').value = document.form1.nombre7.value;
	document.getElementById('nombre8t').value = document.form1.nombre8.value;
	document.getElementById('nombre9t').value = document.form1.nombre9.value;
	document.getElementById('nombre10t').value = document.form1.nombre10.value;
	document.getElementById('nombre11t').value = document.form1.nombre11.value;
	document.getElementById('nombre12t').value = document.form1.nombre12.value;
	document.getElementById('nombre13t').value = document.form1.nombre13.value;
	document.getElementById('tot1t').value = document.form1.tot1.value;
	document.getElementById('tot2t').value = document.form1.tot2.value;
	document.getElementById('tot3t').value = document.form1.tot3.value;
	document.getElementById('tot4t').value = document.form1.tot4.value;
	document.getElementById('tot5t').value = document.form1.tot5.value;
	document.getElementById('tot6t').value = document.form1.tot6.value;
	document.getElementById('tot7t').value = document.form1.tot7.value;
	document.getElementById('tot8t').value = document.form1.tot8.value;
	document.getElementById('tot9t').value = document.form1.tot9.value;
	document.getElementById('tot10t').value = document.form1.tot10.value;
	document.getElementById('tot11t').value = document.form1.tot11.value;
	document.getElementById('tot12t').value = document.form1.tot12.value;
	document.getElementById('tot13t').value = document.form1.tot13.value;
	document.getElementById('piecest').value = document.form1.pieces.value;
	document.getElementById('billetst').value = document.form1.billets.value;
	document.getElementById('totalcaisset').value = document.form1.totalcaisse.value;
	document.getElementById('totalt').value = document.form1.total.value;
	document.getElementById('chqt').value = document.form1.chq.value;
	document.getElementById('ancvt').value = document.form1.ancv.value;
	document.getElementById('virmt').value = document.form1.virm.value;
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Feuille de calcul de caisse</title>
</head>

<body>
<?php 
if (!empty($_POST['journal']))
{
$journal = $_POST['journal']; }
else { $journal = 0 ;
}
?>
<p id="antiprint"><b>Pré caisse</b>
<br />
Faites votre caisse en entrant le nombre de pièces et de billets dans les champs prévus ainsi<br />que les informations d'inventaire et ou de remboursement (si nécessaire) puis cliquer sur "calculer".
<br />
Une fois calculée vous pouvez la "vérifier" et passez à l'étape 2.</p>
<br />
<br />
<div id="centrage">
<form name="form1" action="index.php?option=com_content&view=article&id=4" method="POST">
  <p>Total journal de caisse :
  <input type="text" name="journal" value="<?php echo number_format($journal,2); ?>" />
  </p>
  <p>&nbsp; </p>
  <div id="calculs">
  <span class="text">Pièces</span>
  <br /><br />
<table>
  <tr>
    <td><span id"1" class="type" onMouseOver="infobulle(this, 'Pièces de 1 cent');">
    0,01 €</span>
    </td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre1" id="nombre1" size="3" onblur="verif(this)">
    </td>
    <td>
	=
    </td>
    <td>
    <input type="text" name="tot1" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
    <span id="2" class="type" onMouseOver="infobulle(this, 'Pièces de 2 cents');">
    0,02 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre2" id="nombre2" value="" size="3">
    </td>
    <td>
	=
    </td>
    <td>
    <input type="text" name="tot2" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
    <span id="3" class="type" onMouseOver="infobulle(this, 'Pièces de 5 cents');">
    0,05 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre3" id="nombre3" value="" size="3">
    </td>
    <td>
	=
    </td>
    <td>
    <input type="text" name="tot3" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
   <span class="type" onMouseOver="infobulle(this, 'Pièces de 10 cents');">
    0,10 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre4" id="nombre4" value="" size="3">
    </td>
    <td>
	=
    </td>
    <td>
    <input type="text" name="tot4" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
    <span class="type" onMouseOver="infobulle(this, 'Pièces de 20 cents');">
    0,20 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre5" id="nombre5" value="" size="3">
    </td>
    <td>
	=
    </td>
    <td>
    <input type="text" name="tot5" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
    <span class="type" onMouseOver="infobulle(this, 'Pièces de 50 cents');">
    0,50 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre6" id="nombre6" value="" size="3">
	</td>
    <td>
    =
    </td>
    <td>
    <input type="text" name="tot6" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
    <span class="type" onMouseOver="infobulle(this, 'Pièces de 1 euro');">
    1,00 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre7" id="nombre7" value="" size="3">
	</td>
    <td>
    =
    </td>
    <td>
    <input type="text" name="tot7" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
    <span class="type" onMouseOver="infobulle(this, 'Pièces de 2 euros');">
    2,00 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre8" id="nombre8" value="" size="3">
	</td>
    <td>
    =
    </td>
    <td>
    <input type="text" name="tot8" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr><td colspan="5">&nbsp;</td></tr>
    <tr>
    <td colspan="4"align="left">
    Total pieces :
    </td>
    <td colspan="1" align="right">
    <input type="text" name="pieces" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
  </table>
<br /><hr /> 
<span class="text">Billets</span>
<br /><br />
    <table>
    <tr>
    <td><span class="type" onMouseOver="infobulle(this, 'Billets de 5 euros');">
    5,00 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre9" id="nombre9" value="" size="3">
    </td>
    <td>
	=
    </td>
    <td>
    <input type="text" name="tot9" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
    <span class="type" onMouseOver="infobulle(this, 'Billets de 10 euros');">
    10,00 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre10" id="nombre10" value="" size="3">
    </td>
    <td>
	=
    </td>
    <td>
    <input type="text" name="tot10" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
    <span class="type" onMouseOver="infobulle(this, 'Billets de 20 euros');">
    20,00 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre11" id="nombre11" value="" size="3">
    </td>
    <td>
	=
    </td>
    <td>
    <input type="text" name="tot11" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
    <span class="type" onMouseOver="infobulle(this, 'Billets de 50 euros');">
    50,00 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre12" id="nombre12" value="" size="3">
    </td>
    <td>
	=
    </td>
    <td>
    <input type="text" name="tot12" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    <tr>
    <td>
    <span class="type" onMouseOver="infobulle(this, 'Billets de 100 euros');">
    100,00 €</span></td>
    <td>
    &nbsp;X
    </td>
    <td>
    <input type="text" name="nombre13" id="nombre13" value="" size="3">
    </td>
    <td>
	=
    </td>
    <td>
    <input type="text" name="tot13" disabled="disabled" class="disabled" size="4">
    </td>
    </tr>
    
    <tr>
    <td colspan="5">&nbsp;</td>
    </tr>
    
    <tr>
    <td colspan="4" align="left">Total billets : </td>
    <td colspan="1" align="right"><input type="text" name="billets" disabled="disabled" class="disabled" size="4"></td>
    </tr>
    
    </table>
    <br /><br />
</div>
<div id="info">
<span class="text">Inventaire</span>
<br /><br />
<table>
<tr>
<td align="left"><span class="type" onMouseOver="infobulle(this, ' Si l\'inventaire a été fait, veuillez<br /> indiquer le montant TOTAL des caisses distributeurs<br /> ci-contre.<br />(Inventaire uniquement)');">Total des distributeurs :</span></td>
<td align="right"><input type="text" name="distributeurs" size="4"></td>
</tr>
<tr>
<td align="left"><span class="type" onMouseOver="infobulle(this, ' Si de l\'argent des distributeurs a été<br /> remis en caisse, veuillez indiquer<br /> le montant de la remise ci-contre.<br />(Inventaire uniquement)');">remis en caisse :</span></td>
<td align="right"><input type="text" name="remise" size="4"></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2" style="border-top:1px solid #000;"><span class="text">Remboursements</span></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td align="left"><span class="type" onMouseOver="infobulle(this, 'Si un ou pusieurs remboursements en espèces ont été fait<br /><i>à partir de la caisse</i> veuillez indiquer<br /> le montant TOTAL remboursé ci-contre.');">Remboursement en espèces :</span></td>
<td><input type="text" name="remboursement" size="4"></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2" style="border-top:1px solid #000;"><span class="text">autres moyens de paiement</span></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td align="left"><span class="type" onMouseOver="infobulle(this, 'Montant TOTAL des chèques.');">Chèques :</span></td>
<td><input type="text" name="chq" size="4"></td>
</tr>
<tr>
<td align="left"><span class="type" onMouseOver="infobulle(this, 'Montant TOTAL des chèques vacances (ANCV).');">Chèques vacances :</span></td>
<td><input type="text" name="ancv" size="4"></td>
</tr>
<tr>
<td align="left"><span class="type" onMouseOver="infobulle(this, 'Montant TOTAL des virements.');">Virements :</span></td>
<td><input type="text" name="virm" size="4"></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2" style="border-top:1px solid #000;"><span class="text">Totaux</span></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<tr>
<td align="left"><span class="type" onMouseOver="infobulle(this, 'Montant de la caisse.');">Total caisse :</span></td>
<td align="right"><input type="text" name="totalcaisse" disabled="disabled" class="disabled" size="4"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><font color="#FF0000">-251</font></td>
</tr>
<tr>
<td align="left"><span class="type" onMouseOver="infobulle(this, 'Montant TOTAL des espèces de la journée.');">Total :</span></td>
<td align="right"><input type="text" name="total" disabled="disabled" class="disabled" size="4"></td> 
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>  
<tr>
<td colspan="2" align="center"><br /><input type="button" class="calcull" value="calculer" onclick="cal();trans()" /><br /><input type="button" class="calcull" value="vérifier" onclick="validation()" /><br /><input type="submit" class="calcull" value="Etape 2 >" /></td>
</tr>
</table>
  <input type="hidden" id="nombre1t" name="nombre1t" />
  <input type="hidden" id="nombre2t" name="nombre2t" />
  <input type="hidden" id="nombre3t" name="nombre3t" />
  <input type="hidden" id="nombre4t" name="nombre4t" />
  <input type="hidden" id="nombre5t" name="nombre5t" />
  <input type="hidden" id="nombre6t" name="nombre6t" />
  <input type="hidden" id="nombre7t" name="nombre7t" />
  <input type="hidden" id="nombre8t" name="nombre8t" />
  <input type="hidden" id="nombre9t" name="nombre9t" />
  <input type="hidden" id="nombre10t" name="nombre10t" />
  <input type="hidden" id="nombre11t" name="nombre11t" />
  <input type="hidden" id="nombre12t" name="nombre12t" />
  <input type="hidden" id="nombre13t" name="nombre13t" />
  
  <input type="hidden" id="tot1t" name="tot1t" />
  <input type="hidden" id="tot2t" name="tot2t" />
  <input type="hidden" id="tot3t" name="tot3t" />
  <input type="hidden" id="tot4t" name="tot4t" />
  <input type="hidden" id="tot5t" name="tot5t" />
  <input type="hidden" id="tot6t" name="tot6t" />
  <input type="hidden" id="tot7t" name="tot7t" />
  <input type="hidden" id="tot8t" name="tot8t" />
  <input type="hidden" id="tot9t" name="tot9t" />
  <input type="hidden" id="tot10t" name="tot10t" />
  <input type="hidden" id="tot11t" name="tot11t" />
  <input type="hidden" id="tot12t" name="tot12t" />
  <input type="hidden" id="tot13t" name="tot13t" />
  
  <input type="hidden" id="piecest" name="piecest" />
  <input type="hidden" id="billetst" name="billetst" />
  
  <input type="hidden" id="totalcaisset" name="totalcaisset" />
  <input type="hidden" id="totalt" name="totalt" />
  <input type="hidden" id="chqt" name="chqt" />
  <input type="hidden" id="ancvt" name="ancvt" />
  <input type="hidden" id="virmt" name="virmt" />
  <input type="hidden" id="enveloppe" name="enveloppe" />
</div>
</form>
</div>
</body>
</html>



Calculs.JS

function cal() {
	
	// Recup nombres de pièces et billets //
	
    var nb1=document.form1.nombre1.value;
    var nb2=document.form1.nombre2.value;
    var nb3=document.form1.nombre3.value;
    var nb4=document.form1.nombre4.value;
    var nb5=document.form1.nombre5.value;
    var nb6=document.form1.nombre6.value;
    var nb7=document.form1.nombre7.value;
    var nb8=document.form1.nombre8.value;
    var nb9=document.form1.nombre9.value;
    var nb10=document.form1.nombre10.value;
    var nb11=document.form1.nombre11.value;
    var nb12=document.form1.nombre12.value;
    var nb13=document.form1.nombre13.value;

	// Calculs montant pièces et billetts//
	
    var res1=Number(0.01)*Number(nb1);
    var res2=Number(0.02)*Number(nb2);
    var res3=Number(0.05)*Number(nb3);
    var res4=Number(0.10)*Number(nb4);
    var res5=Number(0.20)*Number(nb5);
    var res6=Number(0.50)*Number(nb6);
    var res7=Number(1)*Number(nb7);
	var res8=Number(2)*Number(nb8);
    var res9=Number(5)*Number(nb9);
    var res10=Number(10)*Number(nb10);
    var res11=Number(20)*Number(nb11);
    var res12=Number(50)*Number(nb12);
    var res13=Number(100)*Number(nb13);
	
	
	// Recup des résultats //
	
	document.form1.tot1.value=res1.toFixed(2);
	document.form1.tot2.value=res2.toFixed(2);
	document.form1.tot3.value=res3.toFixed(2);
	document.form1.tot4.value=res4.toFixed(2);
	document.form1.tot5.value=res5.toFixed(2);
	document.form1.tot6.value=res6.toFixed(2);
	document.form1.tot7.value=res7.toFixed(2);
	document.form1.tot8.value=res8.toFixed(2);
	document.form1.tot9.value=res9.toFixed(2);
	document.form1.tot10.value=res10.toFixed(2);
	document.form1.tot11.value=res11.toFixed(2);
	document.form1.tot12.value=res12.toFixed(2);
	document.form1.tot13.value=res13.toFixed(2);
	
	var pie1=document.form1.tot1.value;
	var pie2=document.form1.tot2.value;
	var pie3=document.form1.tot3.value;
	var pie4=document.form1.tot4.value;
	var pie5=document.form1.tot5.value;
	var pie6=document.form1.tot6.value;
	var pie7=document.form1.tot7.value;
	var pie8=document.form1.tot8.value;
	var bil9=document.form1.tot9.value;
	var bil10=document.form1.tot10.value;
	var bil11=document.form1.tot11.value;
	var bil12=document.form1.tot12.value;
	var bil13=document.form1.tot13.value;
	
	// Calculs des totaux pièces et bilets //
	
	var totpie=Number(pie1)+Number(pie2)+Number(pie3)+Number(pie4)+Number(pie5)+Number(pie6)+Number(pie7)+Number(pie8);
	var totbil=Number(bil9)+Number(bil10)+Number(bil11)+Number(bil12)+Number(bil13);
	
	document.form1.billets.value=totbil.toFixed(2);
	document.form1.pieces.value=totpie.toFixed(2);
	
	// calculs des totaux journée //
	
	var biltot=document.form1.billets.value;
	var pietot=document.form1.pieces.value;
	var dist=document.form1.distributeurs.value;
	var remi=document.form1.remise.value;
	var remb=document.form1.remboursement.value;
	
	var totcai=Number(biltot)+Number(pietot);
	document.form1.totalcaisse.value=totcai.toFixed(2);
	
	// Calcul du total de feuille de caisse //
	var caitot=document.form1.totalcaisse.value;
	
	var totjou=Number(caitot)-251;
	document.form1.total.value=totjou.toFixed(2);
	
    }




Verif.JS :

function validation() {
	
	enveloppe = document.form1.total.value;
	different = document.form1.total.value - (document.form1.journal.value - document.form1.remboursement.value);
	
 	if (document.form1.total.value == '') {
    alert('vous navez pas encore calculé votre feuille de caisse');
    }
  	else if (document.form1.total.value != ((document.form1.journal.value - document.form1.distributeurs.value) - document.form1.remboursement.value)) {
    alert('vous avez :\n' + different.toFixed(2) + '€ de difference entre la caisse et fols !');
    }
	else if (document.form1.total.value == ((document.form1.journal.value - document.form1.distributeurs.value) - document.form1.remboursement.value)) {
	alert('Votre caisse  est bonne ! \n\nVous pouvez passer à l\'étape suivante');
    }
}



Je continu à cherche de mon coté mais si quelqu'un trouve le soucis je suis prenneur.

Merci à tous
A voir également:

3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 sept. 2012 à 18:06
parce que dans la partie validation il me semble que tu ne passes par par la fonction Number chaque fois que tu fais une operation à partir des .value
0
smoky184 Messages postés 121 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 22 janvier 2014 9
25 sept. 2012 à 07:34
Rien à changé :

tout fonctionne. Mais lorsque je rajoute un montant dans le distributeurs plus rien ne va il me trouve une différence de +0.00€
0
smoky184 Messages postés 121 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 22 janvier 2014 9
Modifié par smoky184 le 27/09/2012 à 10:55
J'ai trouvé !!

Les inputs revoyaient des résultats différents si il étaient calculés ou si ils étaient rempli.

document.form1.total.value != (document.form1.journal.value - document.form1.distrib.value)


La solution dans le verif.js était de tout mettre sous forme de variable.

ça donne en simplifié :

var especes= document.form1.total.value; 
var journal=  document.form1.journal.value;
var distrib= document.form1.distrib.value; 

Number(espece) == (Number(journal) - number(distrib)); 
0