Avatar billede dbg Juniormester
12. marts 2017 - 16:00 Der er 1 løsning

hvorfor regner den ikke talene sammen?

jeg har skrevet noget javascript kode, men jeg kan ikke få den til at regne det sammen på den rigtige måde.
prøv at indlæse den nedenstående kode i browseren.
i de tre første felter indtast f.eks. "123" og tryk på knappen.
Det JavaScriptet gør at at tage værdien fra første felt og plus med værdien fra 2. felt og minus værdien fra 3. felt og indsætte denne værdi i 4. felt
nu skulle den gerne vise resultatet "123" i sidste felt (fordi 123+123-123=123), men istedet viser den "123000".
det mærkelige er at funktionen alert() godt kan lave udregningen 123+123-123 korrekt og vise resultatet "123".

<!DOCTYPE html>
<html>
<head>
<script language="JavaScript" type="text/javascript">
function myfunction() {
income1 = document.getElementById("income1").value
income2 = document.getElementById("income2").value
expenses = document.getElementById("expenses").value
calc = income1 + income2 - expenses
document.getElementById("total").value = calc

alert(123 + 123 - 123)
}
</script>
</head>
<body>
<form>
Income: <input type="Text" id="income1"><br>
Other income: <input type="Text" id="income2"><br>
Expenses: <input type="Text" id="expenses"><br>
Total: <input type="Text" value="total" id="total"><br>
<input type="button" value="Calculate" onClick="myfunction()">
</form>
</body>
</html>
Avatar billede keysersoze Guru
12. marts 2017 - 16:16 #1
value er en string og strings lagt sammen giver en konkatenering af de pågældende strings - du skal konvertere dine strings til tal før et regnestykke giver mening, du kan fx benytte parseInt.
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

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