Avatar billede mhv Praktikant
21. september 2004 - 14:20 Der er 19 kommentarer og
1 løsning

beregning af værdi i form

<script language="JavaScript1.2">
function UpdatePris()
{
document.frmBeregn.result.value = document.frmBeregn.a.value +
document.frmBeregn.b.value *
document.frmBeregn.c.value +
document.frmBeregn.d.value *
document.frmBeregn.e.value;        
return false;
}
</script>

<form name="beregn" onsubmit="return beregn()">
<input type="text" name="a" value="10">
<input type="text" name="b" value="20">
<input type="text" name="c" value="3">
<input type="text" name="d" value="25">
<input type="text" name="e" value="4">
<input type="text" name="result">
</form>

Reslultat skulle gerne være 10+20*3+25*4 = 170
men bliver                  "10"+"60"+"100" = 1060170

hvad skal jeg gøre for at få den til at + som tal og ikke som string ???
Avatar billede fennec Nybegynder
21. september 2004 - 14:24 #1
ændre teksten til tal med parseInt() (heltal) eller parseFloat() (kommatal)

parseInt(document.frmBeregn.a.value) + parseInt(document.frmBeregn.b.value)...
Avatar billede roenving Novice
21. september 2004 - 14:24 #2
<script type="text/javascript">
function UpdatePris(f){
f.result.value = +f.a.value + +f.b.value * +f.c.value + +f.d.value * +f.e.value;       
return false;
}
</script>

<form name="beregn" onsubmit="return beregn(this)">
<input type="text" name="a" value="10">
<input type="text" name="b" value="20">
<input type="text" name="c" value="3">
<input type="text" name="d" value="25">
<input type="text" name="e" value="4">
<input type="text" name="result">
</form>
Avatar billede nikolajdu Nybegynder
21. september 2004 - 14:26 #3
<script language="JavaScript1.2">
function UpdatePris()
{
f = document.beregn;
f.result.value = parseInt(f.a.value) + parseInt(f.b.value) * parseInt(f.c.value) + parseInt(f.d.value) * parseInt(f.e.value);       
return false;
}
</script>

<form name="beregn" onsubmit="return UpdatePris()">
<input type="text" name="a" value="10">
<input type="text" name="b" value="20">
<input type="text" name="c" value="3">
<input type="text" name="d" value="25">
<input type="text" name="e" value="4">
<input type="text" name="result">
<input type="submit" value="beregn">
</form>
Avatar billede nikolajdu Nybegynder
21. september 2004 - 14:26 #4
nåj jeg var langsom....

men jeg opdagede en fejl som Jes ikke fik fat i ;-)
Avatar billede nikolajdu Nybegynder
21. september 2004 - 14:27 #5
return beregn(this)">
Avatar billede roenving Novice
21. september 2004 - 14:28 #6
?-)
Avatar billede roenving Novice
21. september 2004 - 14:29 #7
Sæ'fø'li', den havde jeg ikke forestillet mig !-)

<form name="beregn" onsubmit="return UpdatePris(this)">
Avatar billede nikolajdu Nybegynder
21. september 2004 - 14:29 #8
sjovt hack med + + - Hvad betyder de i den her sammenhæng?
Avatar billede roenving Novice
21. september 2004 - 14:31 #9
+ typecaster til et tal og er ikke et hack men en unary operator !-)

-- og den virker med alle typer tal, men kan ikke som f.eks. parseInt trække et tal ud, hvis det efterfølges af bogstaver !o]
Avatar billede mhv Praktikant
21. september 2004 - 14:32 #10
har brugt parseInt nu, men virker ikke...
Avatar billede roenving Novice
21. september 2004 - 14:33 #11
Prøv min, som også udnytter, at du kalder fra formen, så du ligesågodt kan sende den med !-)
Avatar billede nikolajdu Nybegynder
21. september 2004 - 14:41 #12
unary operator - Jeg må da vidst læse lidt op på hvad det er :))
Avatar billede mhv Praktikant
21. september 2004 - 14:44 #13
det virker dem der vil have point skal svare...
Avatar billede roenving Novice
21. september 2004 - 14:44 #14
En unary operator er en operator, som virker uden at operere på to værdier !-)
Avatar billede nikolajdu Nybegynder
21. september 2004 - 14:52 #15
Det må være den lærerige Jes der løber med sejren ;-9
Avatar billede roenving Novice
21. september 2004 - 14:56 #16
Det syn's jeg er lidt svært at gætte !-)

-- for spørgeren må jo angive hvad og hvordan han har brugt, og i denne type udvekslinger er det vel også ganske rimeligt med en deler, så jeg kan da starte med at lægge et, så der er baggrund for deling '-)
Avatar billede roenving Novice
21. september 2004 - 14:57 #17
-- men 200 point er vildt overdrevet, behold selv langt de fleste, giv f.eks. mig 20-30 point og også en sjat til nikolaj !-)
Avatar billede mhv Praktikant
21. september 2004 - 20:43 #18
betaler gerne for hurtige svar!
Avatar billede nikolajdu Nybegynder
21. september 2004 - 22:45 #19
men det er stadigt meget for vi er jo ikke mindre hurtige på et spørgsmål der for en relativt rutineret javascripter egenligt er nemt nok.
Avatar billede roenving Novice
22. september 2004 - 00:44 #20
-- og det er jeg helt enig med, så deleren laver vi i hvert fald !-)

http://www.eksperten.dk/spm/542329
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