Avatar billede Slettet bruger
09. januar 2005 - 22:32 Der er 10 kommentarer og
1 løsning

Simpel regning

Jeg er ved at lave lidt fysik. Jeg skal gentage nogle udregninger en masse gange så tænkte det måske kunne klares med lidt JavaScript... Men er gået i stå her:

<HTML>
<HEAD>
<TITLE>Fysik</TITLE>

<SCRIPT LANGUAGE="JScript">
var VA=0;
var UA=0;
var UB=0;
var deltaP=0;

function regn()
{
VA=IUA.VALUE;
VA=IVA.VALUE;
VA=IVB.VALUE;
deltaP=0.35847*VA+0.7654*VB-0.35847*UA;
resultater.value=deltaP;
};

</SCRIPT>
</HEAD>

<BODY>
<BR><BR>
UA <INPUT TYPE=TEXT NAME="IUA" VALUE="" SIZE="8"> <BR><BR>
VA <INPUT TYPE=TEXT NAME="IVA" VALUE="" SIZE="8"> <BR><BR>
VB <INPUT TYPE=TEXT NAME="IVB" VALUE="" SIZE="8"> <BR><BR>
<INPUT TYPE=BUTTON NAME="kontrolknap" VALUE="regn" onclick="regn()"> </INPUT><BR><BR>
<INPUT TYPE=TEXT NAME="resultater" VALUE="" SIZE="8"> <BR><BR>

</BODY>

</HTML>

Kan i finde nogle syntaxfejl?
Avatar billede sjatten Nybegynder
09. januar 2005 - 22:34 #1
VB er ikke definert.
Avatar billede moocher Nybegynder
09. januar 2005 - 22:37 #2
jeg mener ikke at du skal afslutte en function med ;

Ellers kan det være at IUA.VALUE ikke er tal men tekst... //Tror dog at det er nummer 1
Avatar billede Slettet bruger
09. januar 2005 - 22:47 #3
Har skrevet lidt om:

<HTML>
<HEAD>
<TITLE>Fysik</TITLE>

<SCRIPT LANGUAGE="JScript">
var UA=0;
var VA=0;
var VB=0;
var deltaP=0;

function regn()
{     
    VA=IVA.VALUE;
    VB=IVB.VALUE;       
    UA=IUA.VALUE;
    deltaP=0,35847*VA+0,7654*VB-0,35847*UA;
        resultater.value=deltaP;
};

</SCRIPT>
</HEAD>
 
<BODY>

<BR><BR>
VA <INPUT TYPE=TEXT NAME="IVA" VALUE="" SIZE="8"> <BR><BR>
VB <INPUT TYPE=TEXT NAME="IVB" VALUE="" SIZE="8"> <BR><BR>
UA <INPUT TYPE=TEXT NAME="IUA" VALUE="" SIZE="8"> <BR><BR>
<INPUT TYPE=BUTTON NAME="kontrolknap" VALUE="regn" onclick="regn()"> </INPUT><BR><BR>
<INPUT TYPE=TEXT NAME="resultater" VALUE="" SIZE="8"> <BR><BR>

</BODY>

</HTML>

Men nu siger den NaN
Er der noget galt med datatyperne
Avatar billede softspot Forsker
09. januar 2005 - 22:51 #4
Du skal benytte engelske komma'er, dvs. punktum, som kommatalsseparator.

deltaP = 0,35847 * VA + 0,7654 * VB - 0,35847 * UA;

bliver til:

deltaP = 0.35847 * VA + 0.7654 * VB - 0.35847 * UA;
Avatar billede softspot Forsker
09. januar 2005 - 22:58 #5
...men det gør vist ikke tricket helt :)

prøv lige at checke denne kode:

<HTML>
<HEAD>
<TITLE>Fysik</TITLE>

<SCRIPT LANGUAGE="JScript">
function regn()
{     
    var UA = 0;
    var VA = 0;
    var VB = 0;
    var deltaP = 0;

    VA = document.frm.IVA.value;
    VB = document.frm.IVB.value;       
    UA = document.frm.IUA.value;
    alert(VA + ', ' + VB + ', ' + UA);
    deltaP = 0.35847 * VA + 0.7654 * VB - 0.35847 * UA;
    document.frm.resultater.value = deltaP;
}

</SCRIPT>
</HEAD>
 
<BODY>
    <BR><BR>
    <form id="frm" name="frm">
        VA <INPUT TYPE=TEXT NAME="IVA" id="IVA" VALUE="" SIZE="8" ID="Text1"> <BR><BR>
        VB <INPUT TYPE=TEXT NAME="IVB" id="IVB" VALUE="" SIZE="8" ID="Text2"> <BR><BR>
        UA <INPUT TYPE=TEXT NAME="IUA" id="IUA" VALUE="" SIZE="8" ID="Text3"> <BR><BR>
        <INPUT TYPE=BUTTON NAME="kontrolknap" VALUE="regn" onclick="regn()" ID="Button1"> </INPUT><BR><BR>
        <INPUT TYPE=TEXT NAME="resultater" VALUE="" SIZE="8" ID="Text4"> <BR><BR>
    </form>
</BODY>

</HTML>


Vær opmærksom på at JScript også er case sensitiv, hvilket betyder at du skal skrive value på en kontrol med små bogstaver...
Avatar billede Slettet bruger
09. januar 2005 - 22:59 #6
Stadig det samme...
VA=IVA.VALUE*1;
VB=IVB.VALUE*1;       
UA=IUA.VALUE*1;
deltaP=0,35847*VA+0,7654*VB-0,35847*UA;
Avatar billede cpufan Juniormester
09. januar 2005 - 23:06 #7
mon ikke den predefinerede value skal slettes i disse:
      VA <INPUT TYPE=TEXT NAME="IVA" id="IVA" VALUE="" SIZE="8" ID="Text1"> <BR><BR>
        VB <INPUT TYPE=TEXT NAME="IVB" id="IVB" VALUE="" SIZE="8" ID="Text2"> <BR><BR>
        UA <INPUT TYPE=TEXT NAME="IUA" id="IUA" VALUE="" SIZE="8" ID="Text3"> <BR><BR>

så det bliver:
      VA <INPUT TYPE=TEXT NAME="IVA" id="IVA"  SIZE="8" ID="Text1"> <BR><BR>
        VB <INPUT TYPE=TEXT NAME="IVB" id="IVB"  SIZE="8" ID="Text2"> <BR><BR>
        UA <INPUT TYPE=TEXT NAME="IUA" id="IUA"  SIZE="8" ID="Text3"> <BR><BR>
og så skal de vel ikke "resettes til o i starten af funktionen???

    var UA = 0;
    var VA = 0;
    var VB = 0;
    var deltaP = 0;  ??
Avatar billede softspot Forsker
09. januar 2005 - 23:06 #8
bipsen > du taler forhåbentlig ikke om det sidste post jeg lavede, for da jeg testede det i min browser fungerede det :)
Avatar billede cpufan Juniormester
09. januar 2005 - 23:06 #9
//og så skal de vel ikke "resettes til o i starten af funktionen???

    var UA = 0;
    var VA = 0;
    var VB = 0;
    var deltaP = 0;  ?? // bliver de jo heller ikke - ser jeg lige
Avatar billede softspot Forsker
09. januar 2005 - 23:24 #10
OK, jeg kan lige se at jeg har introduceret et nyt id i hver af INPUT-kontrollerne, det skal der naturligvis ikke være! :) Slet dem der indeholder værdierne Text1, Text2 og Text3.
Avatar billede softspot Forsker
20. oktober 2006 - 16:00 #11
Tak for point :)
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