14. september 2004 - 12:56
Der er
12 kommentarer og 2 løsninger
Udregning på basis af to form felter ?
Hejsa, Jeg står og mangler en stump javascript der kan beregne et gennemsnit af to tal indtastet i hvert sit formular felt. Gennemsnittet skal automatisk vises i et 3. formular felt så snart de 2 andre tal er indtastet og inden der trykkes på send knap er dette muligt med javascript ? /Websam
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
14. september 2004 - 13:27
#1
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> <!-- function beregn() { if(!isNaN(parseInt(document.MyForm.res1.value)) && !isNaN(parseInt(document.MyForm.res2.value))) { document.MyForm.res3.value = (parseInt(document.MyForm.res1.value)+parseInt(document.MyForm.res2.value))/2 } } //--> </SCRIPT> <form name="MyForm" method="post"> <input type="Text" name="res1" value="" onchange="beregn()"><br> <input type="Text" name="res2" value="" onchange="beregn()"><br> <input type="Text" name="res3" value=""> </form>
14. september 2004 - 13:33
#2
Ok det ser fint ud og hvis den altid skal runde ned til nærmeste hele tal f.eks 176,69 bliver til 176 er det så svært at tilføje ? /Websam
14. september 2004 - 13:36
#3
Og så skulle denne linie : document.MyForm.res3.value = (parseInt(document.MyForm.res1.value)+parseInt(document.MyForm.res2.value))/2 Laves om til : document.MyForm.res3.value = (parseInt(document.MyForm.res2.value)/parseInt(document.MyForm.res1.value)) Så bliver de 2 tal divideret ud med hindanden :o) /Websam
14. september 2004 - 13:46
#4
Hvorfor skal de divideres ?-) En anden vinkel: <form> Tal 1: <input name="tal1" type="text" value="87" onkeyup="snit(this.form)"><br> Tal 2: <input name="tal2" type="text" value="187" onkeyup="snit(this.form)"><br> Gennemsnit: <input type="text" name="tal3" value="" readonly="readonly"> </form> <script type="text/javascript"> function snit(f){ f.tal3.value = Math.floor((+f.tal1.value + +f.tal2.value)/2); } </script>
14. september 2004 - 13:51
#5
du bad bare om "gennemsnit af to tal", men what ever :o) document.MyForm.res3.value = parseInt((parseInt(document.MyForm.res1.value)/parseInt(document.MyForm.res2.value))) burde runde ned.
14. september 2004 - 13:58
#6
Super det virker og sorry for min forkerte beskrivelse :o) /Websam
14. september 2004 - 14:08
#7
roenving >> Hvordan undgår jeg at der står NaN i felt 3 når der ikke er skrevet noget i felt 1 og 2 ? Og hvordan undgår jeg at der står Infinity hvis der kun er skrevet noget i felt 2 ? /Websam
14. september 2004 - 14:21
#8
Ved at lægge en test à la den fennec viser ind: <form> Tal 1: <input name="tal1" type="text" value="87" onkeyup="snit(this.form)"><br> Tal 2: <input name="tal2" type="text" value="187" onkeyup="snit(this.form)"><br> Gennemsnit: <input type="text" name="tal3" value="" readonly="readonly"> </form> <script type="text/javascript"> function snit(f){ var t = +f.tal1.value / +f.tal2.value; f.tal3.value = (!isNaN(t)&&t!='Infinity')?Math.floor(t/2):0; } </script>
14. september 2004 - 15:16
#9
Hvis jeg benytter den du lige skrev ja så udskriver den blot 0 hele tiden og laver ikke nogen division af de 2 tal ? /Websam
14. september 2004 - 15:23
#10
-- så længe tal 2 er større end tal 1, ja !-) -- og jeg glemte at fjerne halveringen, men den tavetosse kan du vel godt rette !o]
14. september 2004 - 15:26
#11
ja ja den er væk :o) Og det var jo fordi jeg lige skulle bytte om på tal 1 og tal 2 så virker den oxo, smid et svar så kan i dele :o) /Websam
14. september 2004 - 15:29
#12
Velbekomme '-)
14. september 2004 - 15:37
#13
-- og tak for point ;~}
14. september 2004 - 15:38
#14
det var så lidt :o)
Vi tilbyder markedets bedste kurser inden for webudvikling