Avatar billede fizk Nybegynder
27. juli 2003 - 13:28 Der er 22 kommentarer og
1 løsning

Lægge variable sammen i javascript, hvordan?

Rimeligt enkelt spørgsmål, men jeg kan bare ikke få det til at virke ... !

Jeg har en input boks, hvis værdi skal regnes lidt på;

cm = formular.cm.value;
vagt = formular.vagt.value;
hojde = formular.hojde.value;
alert(cm+vagt+hojde)

Men den alert'er alle 3 værdier efterfulgt af hindanden, som var det tekststrenge - hvordan undgår jeg det?

mvh
Esben Boye-Jacobsen
Avatar billede erikjacobsen Ekspert
27. juli 2003 - 13:29 #1
alert(+cm+vagt+hojde)
Avatar billede jakobclausen Nybegynder
27. juli 2003 - 13:29 #2
Hvis de forskellige variabler indeholder tal, skal du bruger IntParse():

IntParse(cm)+IntParse(vagt)+IntParse(hojde
Avatar billede mikoalngelo Nybegynder
27. juli 2003 - 13:31 #3
alert((cm-0)+(vagt-0)+(hojde-0));
Avatar billede jakobclausen Nybegynder
27. juli 2003 - 13:31 #4
Undskyld det hedder ParseInt:
Avatar billede jakobclausen Nybegynder
27. juli 2003 - 13:32 #5
Sådan her:

ParseInt(cm)+ParseInt(vagt)+ParseInt(hojde)
Avatar billede jakobclausen Nybegynder
27. juli 2003 - 13:36 #6
Det kunne du ikke bruge ?
Avatar billede grunken Nybegynder
27. juli 2003 - 14:04 #7
jacobclausen js kan godt li at dens funktioner bliver kaldt case-sensitive

så det er : parseInt :)

cm = parseInt(formular.cm.value);
vagt = parseInt(formular.vagt.value);
hojde = parseInt(formular.hojde.value);
alert(cm+vagt+hojde)
Avatar billede jakobclausen Nybegynder
27. juli 2003 - 14:10 #8
grunken >> Jeg har nu aldrig haft problemer med at skrive parseInt - det har jeg altid gjort.

Men er det ikke rigtig at det er funktionen parseint man skal bruge ?
Avatar billede grunken Nybegynder
27. juli 2003 - 14:13 #9
læs den tidligere kommentar, du skrev ;), der skrev du "ParseInt"

men nevermind det er en pititesse, parseInt er et glimrende valg ;)
Avatar billede erikjacobsen Ekspert
27. juli 2003 - 14:20 #10
Petitesse, ja, men deet giver syntaksfejl med ParseInt og ikke med parseInt
(i de fleste browsere, aynway)
Avatar billede mik789 Nybegynder
27. juli 2003 - 14:25 #11
under alle omstændigheder er parseInt() den rigtige metode, for værdien af et formularfelt er altid en streng, såderfor må disse værdier først omformes til tal med parseInt()
Avatar billede jakobclausen Nybegynder
27. juli 2003 - 14:26 #12
Jeg mener at jeg kom med nogenlunde det rigtige svar, og poster alstå lige et igen!
Avatar billede erikjacobsen Ekspert
27. juli 2003 - 14:32 #13
man *kan* bruge parseInt, men man *skal* ikke
Avatar billede jakobclausen Nybegynder
27. juli 2003 - 14:34 #14
erikjacobsen >> I know, men det *kan* bruges
Avatar billede erikjacobsen Ekspert
27. juli 2003 - 14:36 #15
;) jakob - men du skrev *skal* ...
Avatar billede atheist Nybegynder
28. juli 2003 - 16:22 #16
cm = formular.cm.value;
vagt = formular.vagt.value;
hojde = formular.hojde.value;
alert(parseInt(cm)+parseInt(vagt)+parseInt(hojde))

På den måde tvinger du browseren til at se på variablerne som tal og ikke tekststrenge...
Avatar billede jakobclausen Nybegynder
28. juli 2003 - 17:50 #17
fizk >> Fortæl mig lige hvorfor det er at du ikke kan bruge mit svar!
Avatar billede atheist Nybegynder
28. juli 2003 - 17:53 #18
Du skal forresten huske at når du skal hente værdier fra en form skal det vær efter flg syntaks;
document.formnavn.inputnavn.value
Avatar billede fizk Nybegynder
28. juli 2003 - 17:53 #19
Måske fordi jeg nåede at afvise før du rettede fejlen?
Avatar billede roenving Novice
28. juli 2003 - 19:43 #20
Skulle da lige prøve at finde ud af hvorfor eriks første ikke virkede, så man kan jo se forskellen, ved at køre følgende kode (med tal som værdier i felterne):

<script language="javascript" type="text/javascript">
function test(){
    f = document.minForm;
    v1 = f.minInput1.value;
    v2 = +f.minInput2.value;
    v3 = +f.minInput3.value;
    alert(v1+v2+v3);
    alert(+v1+v2+v3);
}
</script>
Avatar billede jakobclausen Nybegynder
28. juli 2003 - 19:44 #21
fizk >> Ja men så postede jeg et nyt svar, som du afviste igen. Prøv engang til!
Avatar billede erikjacobsen Ekspert
28. juli 2003 - 19:49 #22
Jah, det var ikke helt perfekt, roenving.... ;))
Avatar billede roenving Novice
28. juli 2003 - 23:06 #23
-- og forøvrigt kan man se at +/- virker som gør-til-tal-operator ved også at sætte et plus ved v1-værdien ...
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