onchange opdatering
Hej Alle -Jeg har et problem med min onchange handler.
Jeg har 4 dropdowns - fra kl.time, kvarter og til kl. time, kvarter
Ved hver dropdown har jeg et script, der kalkulerer antallet af timer, der er fra 'fra' til 'til'.
Endvidere, hvis 'fra' kl. er højere end 'til' (f.eks. fra kl. 23.30 til kl. 08.30) skal den lægge 24 til resutatet.
Der sker så bare det, at onchange handleren ikke opdaterer mit resultat... nogen der kan gennemskue hvorfor? Jeg har prøvet i mac/safari og mac/firefox og det er det samme begge steder..jeg ved kunden bruger pc, så det kan være det er en platformsting..?
Min javascript kode ser således ud:
_______________________
<body>
<SCRIPT TYPE="text/javascript">
function compute( form ) {
if(form.frahalv.value == ".99"){
form.frahalv.value = 1;
}
if((form.frakl.value+form.frahalv.value) > (form.tilkl.value+form.tilhalv.value)){
form.timer.value = eval(form.tilkl.value+form.tilhalv.value)-(form.frakl.value+form.frahalv.value)+24;
}
else {
form.timer.value = eval(form.tilkl.value+form.tilhalv.value)-(form.frakl.value+form.frahalv.value);
}
}
</SCRIPT>
_______________________
og min html kode:
_______________________
<tr>
<td> </td>
<td height="30"><font size="2">Fra:</font></td>
<td colspan="2"><select name='frakl' id="frakl" onChange="compute( this.form )">
<option value="" selected>Time</option>
<?php
for ($c = 0; $c <= 23; $c++) {
if($c < 10){$c = "0".$c;
}
echo "<option value=\"$c\"";
if($Submit && $frakl == $c){echo " selected";}
echo ">$c</option>\n";
}
?>
</select>
<select name='frahalv' onChange="compute( this.form )">
<option value="" selected>Kvarter</option>
<option value=".25"<?php if($Submit && $frahalv == ".25"){echo " selected";}?>>.15</option>
<option value=".50"<?php if($Submit && $frahalv == ".50"){echo " selected";}?>>.30</option>
<option value=".75"<?php if($Submit && $frahalv == ".75"){echo " selected";}?>>.45</option>
<option value=".99"<?php if($Submit && $frahalv == ".99"){echo " selected";}?>>.59</option>
</select></td>
</tr>
<tr>
<td> </td>
<td height="30"><font size="2">Til:</font></td>
<td colspan="2"><select name='tilkl' id="tilkl" onChange="compute( this.form )">
<option value="" selected>Time</option>
<?php
for ($c = 0; $c <= 23; $c++) {
if($c < 10){$c = "0".$c;
}
echo "<option value=\"$c\"";
if($Submit && $tilkl == $c){echo " selected";}
echo ">$c</option>\n";
}
?>
</select>
<select name='tilhalv' id="tilhalv" onChange="compute( this.form )">
<option value="" selected>Kvarter</option>
<option value=".25"<?php if($Submit && $tilhalv == ".25"){echo " selected";}?>>.15</option>
<option value=".50"<?php if($Submit && $tilhalv == ".50"){echo " selected";}?>>.30</option>
<option value=".75"<?php if($Submit && $tilhalv == ".75"){echo " selected";}?>>.45</option>
</select></td>
</tr>
_______________________
- jeg har endda prøvet at lave en compute() via onSubmit, men der gør heller ingen forskel..
Håber du kan hjælpe!!
Mange hilsner fra Frederiksberg,
Andreas
