Avatar billede jacob_m Nybegynder
24. september 2005 - 14:12 Der er 17 kommentarer og
1 løsning

variabel i anden

Hey..

hvordan ophæver man et tal eller variabel til "i anden"..

Prøvede med foo^2 men det virker vist ikke helt :-P

/Jacob
Avatar billede busschou Praktikant
24. september 2005 - 14:14 #1
tja
var x = 2
var y = x * x
Avatar billede jacob_m Nybegynder
24. september 2005 - 14:19 #2
hehe.. jae.. det er jo ik så svært :P...
Avatar billede busschou Praktikant
24. september 2005 - 14:24 #3
Så lægger jeg et svar :o)
Jeg ved ikke hvad der er hurtigst når det kun er i anden potens
Men ellers så findes der selvfølgelig også matematiske funktioner :o)
http://www.javascripter.net/faq/mathfunc.htm
Så Math.Pow(x,2); burde gøre det samme
Avatar billede jacob_m Nybegynder
24. september 2005 - 14:35 #4
Okay.. Det er fordi jeg er ved at lave en DMI udregner.. Meget simpelt.. Men er ret ny i JavaScript..

Har lavet følgende
------------------------------------------
<script type="text/javascript">
function udregn(kg,meter){
meter2 = meter*meter;
bmi=kg/meter2;

return bmi;
}
</script>
</head>

<body>
<p>Udregn din DMI her:</p>
<form action="" method="post" name="bmi" target="_self" id="bmi">
  <p>V&aelig;gt:
    <input name="kg" type="text" id="kg" size="3">
  H&oslash;jde:
  <input name="meter" type="text" id="meter" size="5">
</p>
  <p>
    <input name="Udregn" type="submit" id="Udregn" value="Udregn" onClick="udregn(kg,meter);">
    <input name="Slet" type="reset" id="Slet" value="Slet Indtastninger">
  </p>
</form>
<script type="text/javascript">
document.write("Du har et BMI-index på " + bmi);
</script>
----------------------------------------------------

Men nu udskriver den "Du har et BMI.index på [object]"

Har jeg ikke stillet det rigtig op eller hvad!
Avatar billede busschou Praktikant
24. september 2005 - 14:39 #5
Nårh jamen din funktion returnerer jo bmi, og du forsøger at udskrive bmi direkte uden kald til funktionen, hvis du ønsker det sådan bør du definere variablen globalt
Avatar billede busschou Praktikant
24. september 2005 - 14:53 #6
Men der er jo så lige et par andre ting i det, du kan heller ikke kalde "udregn(kg,meter)" du er nød til at referere til kg og meter med fx document.getElementById
Avatar billede busschou Praktikant
24. september 2005 - 14:57 #7
for eksempel sådan her
-----
<html>
<head>
<script type="text/javascript">
function udregn(kg,meter){
meter2 = meter * meter;
bmi = parseInt(kg)/meter2;
document.getElementById('bmi').innerHTML = "Dit bmi er beregnet til "+bmi
}
</script>
</head>

<body>
<p>Udregn din BMI her:</p>
Vægt
<input type="text" id="kg" size="3">
Højde:
<input type="text" id="meter" size="5">
<br>
<input type="button" value="Udregn" onClick="udregn(document.getElementById('kg').value, document.getElementById('meter').value);">
<br>
<span id="bmi">Dit bmi er ikke beregnet endnu</span>
Avatar billede jacob_m Nybegynder
24. september 2005 - 16:17 #8
Hmm.. Det hjalp på forståelsen...

Men der er fejl i linie 10 med

"bmi = parseInt(kg)/meter2;"
Avatar billede busschou Praktikant
24. september 2005 - 16:56 #9
bare fjern parseint, burde virke uden
Avatar billede jacob_m Nybegynder
24. september 2005 - 17:22 #10
har jeg desværre også prøvet... Hmm..
Avatar billede roenving Novice
24. september 2005 - 22:00 #11
*lol*

-- prøv at bruge andre variabel-navne end element-navnene, så virker det selv i IE !-)

-- ellers kan du bare:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
function udregn(kg,meter){
  kg = parseFloat(document.getElementById(kg).value,10);
  meter = parseFloat(document.getElementById(meter).value.replace(",","."),10);
  var meter2 = meter * meter;
  var bmi = kg/meter2;
  document.getElementById('bmi').innerHTML = "Dit bmi er beregnet til " + bmi
}
</script>
<title>Beregn BMI</title>
</head>

<body>
<p>Udregn din BMI her:</p>
Vægt
<input type="text" id="kg" size="3">
Højde:
<input type="text" id="meter" size="5">
<br>
<input type="button" value="Udregn" onclick="udregn('kg','meter');">
<br>
<span id="bmi">Dit bmi er ikke beregnet endnu</span>
</body>
</html>
Avatar billede thesurfer Nybegynder
24. september 2005 - 22:12 #12
hmm.. hvorfor ikke bare:

<input type="text" name="kg" size="3">
...

og

onclick="udregn(this.form.kg.value,this.form.meter.value)"

så kan man nøjes med:

  kg = parseFloat(kg,10);
  meter = parseFloat(meter.replace(",","."),10);
...

Man kan jo lige så godt bruge NAME, når man nu har muligheden.. :-)

Mener faktisk at man kan bruge Math.pow(kg,2) og Math.pow(meter,2).. husker ikke lige, om "pow" skal med stort "P" eller ej..

/theSurfer
Avatar billede roenving Novice
24. september 2005 - 22:20 #13
-- med lille ...

-- men når der nu ikke er en form, kan man jo ikke benytte sig af formNavn.feltNavn ...

-- og måske benytter busschou ikke en IE eller Opera, så han oplevede ikke, at variablen bmi pegede på elementet med id="bmi", hvilket brugere af de browsere vil opleve !-)
Avatar billede thesurfer Nybegynder
24. september 2005 - 22:23 #14
Er det "lovligt" at bruge INPUT uden FORM..?

/theSurfer
Avatar billede roenving Novice
24. september 2005 - 22:25 #15
Ja, hvad skulle der være galt i det ?-)
Avatar billede thesurfer Nybegynder
24. september 2005 - 22:26 #16
ik' noget.. :-)
(psst.. glem 24/09-2005 22:12:56..)

/theSurfer
Avatar billede roenving Novice
24. september 2005 - 22:31 #17
Men du kan jo lave et simpelt xhtml-dokument med et par løsrevne inputs med names, så skal du nok få w3cs validator til at rotere under loftet !-)
Avatar billede jacob_m Nybegynder
25. september 2005 - 11:27 #18
Roenving> Dit første bud virker som sagt.. Og ang. form så havde jeg også lagt et formtag i det første eksempel men det ser ud til at være forsvundet :-P..

Men jeg takker for den lille diskussion som jeg næsten fik mere ud af en selve løsningen.. Eller hvad ;-)..
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