Havde lige lavet en i javascript :/
... poster den lige - det ville jo være synd bare at smide den ud...
(har lige gjort den lidt parat til let kombinering med backup php script)
Selvom man vælger javascript løsning er det smart at bruge mcardle's php fil til backup hvis javascript er deaktiveret :) ... udregningen i javascript skal nok tilrettes - kan jo også være som php udregningen så man definerer værdien af udregningen i er array uden at foretage en udregning (der er jo som mcadle viser kun 18 resultater hvis det kun er disse to variabler der regnes på...)
... en evt. kombination af de to script kan være at denne js formular ligges på en php side og hvis javascript er deaktiveret er der en knap istedet (den funktion er lavet) og så kan man vælge at afsende formularen til den side man er på - php vil så sørge for at udregne (hvis der er post indstillinger og værdierne begge er forskellig fra "d" og indskrive resultatet i værdi feltet baseret på det man postede (det skal dog lige kombineres først)...
... nåh, her var det jeg havde lavet:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>
<style type="text/css">
html{overflow-y:scroll;}
body{margin:5px 0px;padding:0px;}
#cont{width:770px;margin:0px auto;}
</style>
<script type="text/javascript" src="blaendfiltudregn.js"></script></head>
<body><div id="cont">
<form method="POST" action="alternativphpudregning.php" name="lensform" onsubmit="return false;">
<div style="width:160px;line-height:21px">
<b style="float:left;">Blænde:</b>
<select size="1" name="blaende" style="float:right;width:100px;" onChange="blaendfiltc();">
<option value="d">Vælg</option>
<option value="0">1.9</option>
<option value="1">2.0</option>
<option value="2">2.8</option>
<option value="3">3.0</option>
<option value="4">4.0</option>
<option value="5">5.6</option>
</select>
</div>
<div style="width:160px;">
<b style="float:left;line-height:19px;">Filter:</b>
<select size="1" name="filter" style="float:right;width:100px;" onChange="blaendfiltc();">
<option value="d">Vælg</option>
<option value="0">ND3</option>
<option value="1">ND6</option>
<option value="2">ND9</option>
</select>
</div>
<div style="width:160px;">
<input type="submit" name="afsendknap" value="Beregn værdien" style="height:25px;width:160px;">
<input type="text" name="calcresult" value="Vælg Blænde og filter" onkeyup="this.value='Vælg Blænde og filter';" style="display:none;float:left;width:156px;padding:0px;">
</div>
</form>
</div></body></html>
samt blaendfiltudregn.js
<!--
window.onload=function(){
document.lensform.afsendknap.style.display="none";
document.lensform.calcresult.style.display="block";
}
/* Variabelværdier til blænde ... bemærk punktum er lig komma */
myblendarr=new Array('1.9','2.0','2.8','3.0','4.0','5.6');
/* Variabelværdier til filter ... bemærk punktum er lig komma */
myfiltarr=new Array('1.3','1.6','1.9');
function blaendfiltc(){
mycalcresult=document.lensform.calcresult;
myblaend=document.lensform.blaende.value;
myfilt=document.lensform.filter.value;
if((myblaend!="d")&&(myfilt!="d")){
myb=myblendarr[myblaend];
myf=myfiltarr[myfilt];
/* Udregningsformlen - udregninger kan også være betinget af, hvad blænde og filter, der er valgt som med php eksemplet... Det laves let, hvis man kender hvilke betingelserne, der skal checkes på, før den udfører en bestemt beregning f.eks.: Hvis blænde er det og filter det så brug den formel ellers, hvis blænde og filter er det så brug den formel o.s.v...
myb = værdien der hører til den valgte blænde - værdien til formlen fåes fra nr.1 array
myf = værdien der hører til det valgte filter - værdien til formlen fåes fra nr.2 array */
udregning=+myb/2+8*4-5/9*myf;
mycalcresult.value=udregning;
}else mycalcresult="Vælg Blænde og filter";
}
//-->