Avatar billede sofjan Nybegynder
29. april 2000 - 19:41 Der er 5 kommentarer og
1 løsning

Læg to tal sammen!

Hej, hvorfor bliver denne funktion ved med at lægge tallene ved siden af hinanden i stedet for at lægge dem sammen?
function sum()
{
  total = 0;
  total = document.tabel1.a.value + document.tabel1.b.value;
document.tabel1.total.value = total;
}
Avatar billede erikjacobsen Ekspert
29. april 2000 - 20:16 #1
Fordi det er tekststrenge. Alt hvad der kommer fra en form er en streng. Men
hvis du ved det er tal, kan du gøre dette:

total = parseInt(document.tabel1.a.value) + parseInt(document.tabel1.b.value);

eller (det er lidt af et hack):

total = (document.tabel1.a.value-0) + (document.tabel1.b.value-0);
Avatar billede shaba Nybegynder
30. april 2000 - 12:26 #2
Kan han ikke bare bruge eval?

total = 0;
  total = eval(document.tabel1.a.value + document.tabel1.b.value);
document.tabel1.total.value = total;
Avatar billede martin Nybegynder
30. april 2000 - 16:23 #3
Det nemmeste ville være

function sum()
{
  document.tabel1.total.value = document.tabel1.a.value + document.tabel1.b.value;
}

Avatar billede erikjacobsen Ekspert
01. maj 2000 - 12:20 #4
Både shaba og martin glemmer, at operatoren +
anvendes til 2 ting i JavaScript, nemlig både
til aritmetisk addition, og til sammensætning af
strenge.

JavaScript vælger selv om det er det ene eller
det andet, ved at kigge på typerne for det der
skal +'es. Et indtastningsfelt er altid
en streng, så derfor bliver det til sammensætning
af strenge i jeres tilfælde.

Man skal altså selv - på en eller anden måde -
få denne streng lavet om til et tal, og jeg
har angivet 2 muligheder til dette.
Avatar billede sofjan Nybegynder
01. maj 2000 - 19:09 #5
tak for hjælpen alle tre
Avatar billede shaba Nybegynder
01. maj 2000 - 21:12 #6
Du har fuldstændig ret, Erik. Ved ikke lige hvad jeg tænkte på, men du skrev jo det rigtige, så det er jo fint :)
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