"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev i en meddelelse
news:8ysu99v6.fsf@hotpop.com...
> Martin Petersen <mpetersendk@yahoo.dk> writes:
>
> Nu du spurgte igen, så lad mig give et par hints.
>
> Du fik at vide at du er i den forkerte gruppe, og sagde endda at du
> havde opdaget det. Derfor er der nok ikke nogen der har svaret her.
> Faktisk kan det diskuteres, da fejlen ikke som sådan ligger i
> javascripten. :)
>
> Ok, lad mig gå i pedant-tilstand:
>
> > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
>
> Denne DOCTYPE sætter browsere i "Quirks-mode", en bagudkompatibel
> tilstand som efterligner alle fejlene i IE4. Det er en dårlig idé
> at skrive nye sider på den måde.
>
> > <html>
> > <head>
> > <title>Untitled Document</title>
> > <meta http-equiv="Content-Type" content="text/html;
> > charset=iso-8859-1">
>
> Jeg er ikke sikker på at det er smart at have linjeombrydninger
> midt i attributværdier. Det kan selvfølgelig være noget der er sket
> da du lavede det om til en nyhedsbesked (derfor er det en *meget*
> bedre idé at give et link til siden i dens naturlige habitat.
>
> > </head>
> > <script language="JavaScript">
>
> I den version af HTML du har valgt med din DOCTYPE er
> language-attributten "deprecated". Det skrives i stedet som
> <script type="text/javascript">
>
> Script-elementer er kun lovlige inde i head eller body elementerne,
> så enten ryk det op før </head> eller ned efter <body>.
>
> > function Calculate(thisform)
> > {
> > Antal = thisform.Antal.value;
>
> Her anbefaler jeg at skrive
> var Antal = thisform.elements["Antal"].value;
>
> Tilføj "var" for at gøre det til en lokal variabel. Nogle browsere
> tillader at man kan skriver "window.Antal" (som er det samme som
> "Antal" når "Antal" ikke er defineret som lokal variabel) for at få
> fat i et element med navn "Antal". Sådan et har du, så der er en
> potentiel konflikt. Næppe et problem her, men det er en god vane at
> lave variable lokale.
>
> Jeg foretrækker at skrive elements-collectionen med fordi det er
> standard DOM, selvom alle nuværende browsere kan bruge den korte form.
>
> Her skal du vide at Antal er en streng, ikke et tal. Af sikkerhedshensyn
> vil jeg anbefale at lave det om til et tal, fx ved i stedet at skrive
>
> var Antal = parseFloat(thisform.elements["Antal"].value);
>
> eller bare
>
> var Antal = +(thisform.elements["Antal"].value);
>
> Det er ikke vigtigt her, da du kun bruger Antal til at gange med, og
> Javascript laver automatisk strengen om til et tal når man forsøger at
> gange den med et andet tal. Det havde ikke virket hvis det var plus i
> stedet for gange.
>
> > resultat = (2.11 * Antal);
>
> var resultat ...
>
> > oliepris = (Antal*6.50)
>
> Bruger du ikke til noget (endnu?)
>
> > thisform.pillebrug.value=resultat
>
> thisform.elements['pillebrug'].value = resultat;
>
> (bare fordi det er en god vane)
>
> > return false;
> > }
> > </script>
> > <body><p> </p><form name="test" onSubmit="return
> > Calculate(this);">
>
> Her fik jeg en fejl. Du må ikke dele linjen midt i attributten.
> Hvis du sætter det på en linje, så virker det for mig.
>
> Form-elementer skal have en action-attribut!
>
> > <p><font face="Verdana, Arial, Helvetica, sans-serif">Pris pr
> > liter olie:</font>
>
> Font-tagget er deprecated.
>
> > <input name="olie" type="text" id="olie" value="6.50"
> > size="6" readonly="true">
>
> Attributten readonly kan kun have en værdi: "readonly".
>
> ...
>
> > <font face="Verdana, Arial, Helvetica, sans-serif">
> > Pilleforbrug pr. år</font>
>
> Du behøver ikke skrive å. Du har sat charset til at være iso-8859-1,
> så du kan godt skrive "å" direkte.
>
> > Håber der er nogen der kan hjælpe.
>
> Håber det hjælper.
>
> Jeg sætter Followup-To til .clientside. Hvis et svar ikke har med
> javascripten at gøre, så slet bare futten.
>
> /L
> --
> Lasse Reichstein Nielsen - lrn@hotpop.com
> Art D'HTML: <URL:
http://www.infimum.dk/HTML/randomArtSplit.html>
> 'Faith without judgement merely degrades the spirit divine.'
Jeg er ikke helt sikker på hvordan jeg skal stykke det sammen som du har
givet mig, så hvis du kan hjælpe mig lidt mere, vil jeg blive meget glad.
MVH
Martin