Avatar billede christianem Nybegynder
22. april 2005 - 15:12 Der er 2 kommentarer og
1 løsning

Et simpelt script der ikke vil som jeg vil!

Hej, jeg er ved at lave et program til beregning af varmetabet på et hus. Der skal først laves en varmetabsramme, og denne giver det forkerte facit. Scriptet ser således ud:

<html>
<head>

<body>
<script type="text/javascript" language="JavaScript">

function varmetab(){
   
    var a = parseFloat(document.getElementById('A').value)
    var b = parseFloat(document.getElementById('B').value)
    var c = parseFloat(document.getElementById('C').value)
    var d = parseFloat(document.getElementById('D').value)

//varmetabsrammen beregninger findes, se i teori og skemaet hvordan

//væg

vrvag = 0.3 * a * 32

//gulv

vrgul = 0.2 * (b + c) * 12

//loft

vrlof = 0.15 * d * 37

//vindue + dør

vrvindor = 1.8 * (0,22 * vrgul) * 32

//varmetabsrammen

vr = vrvag + vrgul + vrlof + vrvindor

document.getElementById("out").value = "Det aktuelle varmetab: " + vr + " W";

}

function validate() {

    // Kontrol af vægarealet
    if (valider.A.value == "") {
        alert("Der skal indtastes et areal, se evt. hjælpeboxen");
        valider.A.focus();
        return false;
    }

    // Kontrol af trægulvarealet
    if (valider.B.value == "") {
        alert("Der skal indtastes et areal, se evt. hjælpeboxen");
        valider.B.focus();
        return false;
    }

    // kontrol af klinkearealet
    if (valider.C.value == 0) {
        alert("Der skal indtastes et areal, se evt. hjælpeboxen");
        valider.C.focus();
        return false;
    }

    // Kontrol af loftarealet
    if (valider.D.value == "") {
        alert("Der skal indtastes et areal, se evt. hjælpeboxen");
        valider.D.focus();
        return false;
    }

return true;

}

function popup(tekst)    {
   
    var popup = open("", "_blank", "width=150, height=100, valign=center, align=center");
    popup.document.write(tekst);
}

function lukpop()    {   
    popup.window.close();   
    popup = null;
   
}

function printpage() {
window.print(); 
}

</script>

<form name="valider" Onsubmit="return validate()";>

<p>Indtast vægareal</p>
<input  tabindex="1" type="text" id="A" >
<a href="#" onClick="popup('kjb');" >Hjælp</a>

<p>Indtast gulvareal, trægulv</p>
<input tabindex="2" type="text" Id="B" >
<a href="#" onClick="popup('pik');" >Hjælp</a>

<p>Indtast gulvareal, klinker</p>
<input tabindex="3" type="text" Id="C" >
<a href="#" onClick="popup();" >Hjælp</a>

<p>Indtast loftareal</p>
<input tabindex="4" type="text" Id="D" >
<a href="#" onClick="popup();" >Hjælp</a>

<p>

<input tabindex="8" type="button" value="Beregn varmetab" onclick = "if (validate()) varmetab()";>

<input tabindex="9" type="button" value="Printvarmetabet" onclick = printpage();>

<input type="reset" value="Reset">

<p></p>

<input type="text" id="out" size="50">
<span id="output"></span>

</form>

</body>
</head>
</html>

Hvis man eks indtaster 10 i hver input box siger en udregning på lommeregneren at vr skal give 807.756

I dette script giver det 61025.1 :(

Håber der er nogle der kan hjælpe mig.
Avatar billede themepark Nybegynder
22. april 2005 - 15:26 #1
Du kommer til at hade det her, for det er en af de små dejlige fejl, man af og til kan komme ud for, en simpel tastefejl :)

Du har skrevet 0,22 med komma i stedet for 0.22 med punktum i formlen for vrvindor :)
Avatar billede christianem Nybegynder
22. april 2005 - 21:24 #2
Det er desværre ikke det. Fejlen er fundet. Ellers tak for hjælpen!
Avatar billede themepark Nybegynder
22. april 2005 - 22:23 #3
Hmm, jeg får ellers det rigtige resultat, når jeg har rettet den fejl, blot med flere decimaler end nødvendigt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester