Gå til innhold

Et lite JavaScript problem


Anbefalte innlegg

Jeg vet at det er en del feil her, men jeg finner ikke alle. Det hadde vært fint om noen litt flinkere kunne sett over dette for meg, for så å komme med forslag til feilretting. Jeg begynner å gå litt lei av a bare prøve meg frem, og synes at det hadde vært litt kult med hjelp.

 

Det den skal gjøre er å først få opp en "radio" box hvor man velger enten FahrenHeit til Celsius eller motsatt. Deretter skal man få opp et spørsmål med hvor mange grader ? i ønsket temp-skala. Da skal dette bli regnet ut, og man får opp svaret i en alert-box.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<body>

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

<!--



//Converts the degrees



function fahrenToCelsius()

{

celsius=(temp-32)*5/9;

return(celsius);

}



function celsiusToFahren()

{

fahren=(tempC+32)/5*9;

return(fahren);

}



//Gets the degrees and sends it for calculating



function convertTempFahCel()

{

var temp=prompt("What temperature Fahrenheit? ", "0")

var celsius=fahrenToCelsius(temp);

alert(temp + " degrees Fahrenheit is" + celsius + " degrees Celsius." );

}



function convertTempCelFah()

{

var tempC=prompt("What temperature Celsius? ", "0")

var fahren=celsiusToFahren(TempC);

alert(tempC + " degrees Celsius is" + fahren + " degrees Fahrenheit." );

}





// first function - sends the temperature to the right calculating function.



function sendTemp()

var FC=window.document.myform

if(FC.TempBox.value==FahCel) ? convertTempFahCel : convertTempCelFah



//-->

</script>

<form name=DegChk>

<input type=radio name=TempBox checked value="FahCel"> FahrenHeit to Celsius<br>

<input type=radio name=TempBox value="CelFah"> Celsius to FahrenHeit<br>

<br>

</form>



<a href="#" onclick=javascript:sendTemp>Calculate</a>



</body>

Lenke til kommentar
  • 3 uker senere...
Videoannonse
Annonse
Jeg vet at det er en del feil her, men jeg finner ikke alle. Det hadde vært fint om noen litt flinkere kunne sett over dette for meg, for så å komme med forslag til feilretting. Jeg begynner å gå litt lei av a bare prøve meg frem, og synes at det hadde vært litt kult med hjelp.

Ok, har fikset på koden din, samt laget en liten liste med hva du har skrevet feil:

1. Du må huske å avslutte hver kommando med et semi-kolon ";"

2. Bruk gåseøyne (") rundt attributter i HTML

3. Husk å ha med parantesene når du kaller en funksjon, selv om du ikke bruker noen parametrer.

Altså skriv "sendTemp"

5. Du må huske på å bruke rett navn når du skal sjekke verdien på en form

altså ikke: var FC=window.document.myform

6. Husk å begynne og slutte et html dokument med <html>

7. Når du anngir tekst stringer:

if(FC.TempBox.value==FahCel)

så må du huske på å ha gåseøyne (") rundt stringen

slik: if(FC.TempBox.value==")

8. Når du anngir en funksjon så må du jo huske på å ta med parameteret/ene i definisjonen av funksjonen

function celsiusToFahren(tempC) {

9. Husk på at variabel navn er case sensitive:

var tempC=prompt("What temperature Celsius? ", "0")

var fahren=celsiusToFahren(TempC

10. litt feil i formlene: for celsius til fahrenheit skal det være:

fahren = tempC*(9/5) + 32;

ikke: fahren=(tempC+32)/5*9;

du må huske på å ha paranteser rundt 5/9

ikke slik: celsius=(tempF-32)*5/9;

men slik: celsius=(tempF-32)*(5/9);

11. Du har en syntax feil, du kan ikke kombinere to måter for å gjøre en if validering:

if(FC.TempBox.value==FahCel) ? convertTempFahCel : convertTempCelFah

du må bruke følgende syntax

if (hvaSomSkalSjekkes) {

// hvis hvaSomSkalSjekkes er lik true, gjør dette

}

else {

// eller hvis hvaSomSkalSjekkes er lik false, gjør dette

}

PS! Du trenger ikke krøll parantesene "{" og "}" hvis du bare har en kommandolinje etter if/else settninga.

Den andre måten for å utføre en if validering kan bare brukes hvis du skal tilordne er variabel en verdi avhengig

av hva valideringen av blir hvaSomSkalSjekkes, slik som dette:

var minVariabel)? "sann" : "usann";

da vil variabelen minVariabel er false

ok... her er koden


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<body>

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

<!--



//Converts the degrees



function fahrenToCelsius(tempF) {

 //celsius=(tempF-32)*5/9;

 celsius=(tempF-32)*(5/9);

 return(celsius);

}



function celsiusToFahren(tempC) {

 //fahren=(tempC+32)/5*9;

 fahren = tempC*(9/5) + 32;

 return(fahren);

}



//Gets the degrees and sends it for calculating



function convertTempFahCel() {

 var temp=prompt("What temperature Fahrenheit? ", "0")

 var celsius=fahrenToCelsius(temp);

 alert(temp + " degrees Fahrenheit is " + celsius + " degrees Celsius." );

}



function convertTempCelFah() {

 var tempC=prompt("What temperature Celsius? ", "0")

 var fahren=celsiusToFahren(tempC);

 alert(tempC + " degrees Celsius is " + fahren + " degrees Fahrenheit." );

}





// first function - sends the temperature to the right calculating function.



function sendTemp() {

 var FC=window.document.DegChk;

 if(FC.TempBox[0].checked)

   convertTempFahCel();

 else

   convertTempCelFah();

}

//-->

</script>

<form name="DegChk">

<input type="radio" name="TempBox" checked value="FahCel"> Fahrenheit to Celsius<br>

<input type="radio" name="TempBox" value="CelFah"> Celsius to Fahrenheit<br>

<br>

</form>



<a href="#" onclick="javascript:sendTemp()">Calculate</a>



</body>

</html>

Sånn.. dett var dett... håper du finner ut... :-)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...