Forum de discussion
Forum « Programmation Javascript » (archives)
Erreur dans mon code : ne respecte pas directement le onChange sur un champ!
Envoyé: 20 mai 2005, 5h23 par melzo
mon probleme: les formules sont respectées mais j'ai un pb dans l'ordre d'exécution.
Quand je change le champ : "niveau de départ", il ne me prend pas en compte le changement.
Il faut que je change un champ au dessus (nombre de films, professionnel....) pour que seulement alors
il applique le changement de niveau de depart sur ma div "monDepart".
ci-dessous mon code:
<HTML>
<HEAD>
<TITLE>calcul de volume</TITLE>
<style type="text/css">
<!--
a:link,a:visited{text-decoration:none}
-->
</style>
<script type="text/javascript" language="javascript">
<!--
<!--
function Multiplier(_form) {
var nTemp = 0;
var nTemp2 = 0;
var nTemp3 = 0;
var nTemp4 = 0;
var nTemp5 = 0;
nTemp += _form.monChamp1.value * 0.50;
nTemp += _form.monChamp2.value * 0.7;
if(monSelect1.value=="Oui")
nTemp2+=0.5*1.66;
if(monSelect2.value=="Oui")
nTemp2+=1.0*1.66;
nTemp3=nTemp+nTemp2;
document.getElementById("monVolume").innerHTML = Math.round (nTemp2*100)/100;
document.getElementById("monResultat").innerHTML = Math.round (nTemp*100)/100;
document.getElementById("monTotal").innerHTML= Math.round (nTemp3*100)/100;
nTemp4=nTemp3;
if(EtageDep.value=="0" || EtageDep.value=="" ) {
nTemp4+=(-0.2)*(nTemp3/2);
document.getElementById("monEtage").innerHTML= Math.round (nTemp4*100)/100;
}
else if(EtageDep.value=="1" || EtageDep.value=="2" || EtageDep.value=="3" || EtageDep.value=="4" || EtageDep.value=="5") {
nTemp4+=0;
document.getElementById("monEtage").innerHTML= Math.round (nTemp4*100)/100;
}
else document.getElementById("monEtage").innerHTML= Math.round (nTemp4*100)/100;
}
-->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<style type="text/css">
<!--
.variable {
font-family: Arial, Helvetica, sans-serif;
font-size: medium;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #FFFFFF;
text-decoration: none;
}
-->
</style>
</head>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" link="#990000" vlink="#990000" alink="#990000" marginwidth=0 marginheight=0 leftmargin=0 topmargin=0>
<div align="center"><font face="Arial, Helvetica, sans-serif"> <br clear=all>
</font> </div>
<form name="monForm">
<div align="center"> </div>
<font face="Arial, Helvetica, sans-serif"><div align="center">
<div align="center"></div>
<TABLE width="598" height="60" border="0" align="center" CELLSPACING="0">
<tr align="left" valign="bottom" bgcolor="#CCCCCC">
<td width="268" height="30" align="left"><font face="Arial, Helvetica, sans-serif" color="#CC3333" size="2">Nombre
de Disques</font></td>
<td width="31" height="30" align="left"><font face="Arial, Helvetica, sans-serif" color="#CC3333" size="2">
<input NAME="monChamp1" TYPE="text" id="monChamp1" onBlur="Multiplier(this.form)" VALUE="" SIZE="2">
</font></td>
<td width="26" height="30" align="left"><font color="#CC3333" size="2" face="Arial, Helvetica, sans-serif"> </font></td>
<td width="216" height="30" align="left"> <div align="left"><font color="#CC3333" size="2" face="Arial, Helvetica, sans-serif">Professionnel</font></div></td>
<td width="47" height="30" align="left"><div align="right"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">
<select name="monSelect1" id="monSelect1" onChange="Multiplier(this.form)" >
<option>Non</option>
<option>Oui</option>
</select>
</font></div></td>
</tr>
<tr align="left" valign="bottom" bgcolor="#FFFFFF">
<td height="30" align="left"><font face="Arial, Helvetica, sans-serif" color="#CC3333" size="2">Nombre
de films</font></td>
<td height="30" align="left"><font face="Arial, Helvetica, sans-serif" color="#CC3333" size="2">
<input NAME="monChamp2" TYPE="text" id="monChamp2" onBlur="Multiplier(this.form)" VALUE="" SIZE="2">
</font></td>
<td height="30" align="left"><font color="#CC3333" size="2" face="Arial, Helvetica, sans-serif"> </font></td>
<td height="30" align="left"> <div align="left"><font color="#CC3333" size="2" face="Arial, Helvetica, sans-serif">Professionnel</font></div></td>
<td height="30" align="left"><div align="right"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">
<select name="monSelect2" id="monSelect2" onChange="Multiplier(this.form)">
<option>Non</option>
<option>Oui</option>
</select>
</font></div></td>
</tr>
</table>
<TABLE WIDTH="598" border="1" align="center" CELLPADDING="0" CELLSPACING="0" bordercolor="#CC3333" bgcolor="#EAEAEA">
<tr bordercolor="#FFFFFF" bgcolor="#FFFFFF">
<td width="280"><div align="right"><font color="#CC3333" face="Arial, Helvetica, sans-serif"><br>
<b></b></font></div></td>
<td width="312" valign="bottom"> <div align="right"><font color="#CC3333" face="Arial, Helvetica, sans-serif">
<input type="reset" name="Reset" value="Remise à zéro">
</font></div></td>
</tr>
</table>
<table width="597" height="25" border="0" align="center">
<tr>
<td width="317" height="23"><font color="#6666CC" face="Arial, Helvetica, sans-serif"><strong>Le
Nombre magique est de : </strong></font> </td>
<td width="270">
<div align="right" id="monResultat" > null </div> </td>
</tr>
</table>
<p> </p>
<p> <font color="#CC3333" face="Arial, Helvetica, sans-serif">Niveau de départ:
</font>
<input name="EtageDep" type="text" id="EtageDep" onChange="Multiplier(this.Form)" size="2" maxlength="2">
</p>
</form>
<p align="left"><font color="#000000" face="Arial, Helvetica, sans-serif"><br>
</font></p>
<p align="left"><font color="#6666CC" face="Arial, Helvetica, sans-serif">Le niveau
de professionnel est:</font>
<div id="monVolume"> null </div>
<font color="#6666CC" size="3" face="Arial, Helvetica, sans-serif"></p> Le Nombre
magique + le niveau prof. est :</font>
<Div id="monTotal">
<p>null</p>
</Div>
<p align="left"><font color="#6666CC" face="Arial, Helvetica, sans-serif">Après
correction Niveau de départ : </font></p>
<Div id="monEtage"> null </Div>
</body>
</html>
Réponses
|