Wynik dodawania dwóch liczb jest niepoprawny - dlaczego?

0

Wiem, że pewnie problem wydaje się banalnie prosty, ale wcześniej robiłem wszystko w C++ i tam nie miałem takiej zagwozdki:) otóż jak dodaje dwie zmienne:

Function dodaj()
{
var a = document.getElementById("pole1").value; // przyjmijmy, że jest to wartość 2
var b = document.getElementById("pole2").value; // przyjmijmy, że jest to wartość 3

alert(a + b); //onclick wywoływane na jakimś tam butonie
}
 

wartość jaką zwraca mi to wyrażenie to nie 5 jak mogłoby się wdawać a 23. Może ktoś mi powiedzieć jak dodać te dwie wartości do siebie?

1

nooo, nie dziwota, dodajesz stringa do stringa.
Zapytanie do googla na dziś: how to parse string to integer javascript.

co do jest zagwozdka ? looool

0

Słabo programowałeś w tym C++sie, bo javascript jest następnym po pythonie naturalnym przyjacielem tego (C++) języka.

0

dzięki, już ogarnąłem temat natomiast cały czas jedna rzecz mi nie wychodzi a mianowicie mam taką prostą funkcę:

function licz()
  {
  var Tablica = new Array(2);
  var suma="";
  for (i = 0; i<=1; i++)
  {
  Tablica[i] = document.getElementById("pole"+(i+1)).value;
  suma += parseInt(Tablica[i]);
  }
  document.getElementById("wynik").innerHTML = suma;
  } 

ona nadal mi nic nie sumuje, natomiast jak zrobię trochę na okrętkę to działa, ale nie chciałbym stosować takiego rozwiązania tylko zmodyfikować pierwszą funkcję. Pomysły?

 function licz()
  {
  var Tablica = new Array(2);
  var suma="";
  for (i = 0; i<=1; i++)
  {
  Tablica[i] = document.getElementById("pole"+(i+1)).value;
  }
  suma = parseInt(Tablica[0]) + parseInt(Tablica[1]);
  document.getElementById("wynik").innerHTML = suma;
  }
1

http://jsfiddle.net/0dcftpcm/

<div id="a">5</div>
<div id="b">6</div>
var a = document.getElementById("a").innerHTML;
var b = document.getElementById("b").innerHTML;
document.write(+a + +b);

oraz

https://jsfiddle.net/tnw0Lxqv/

<div class="sum">1</div>
<div class="sum">5</div>
<div class="sum">7</div>
<div id="result"></div>
var sum = 0;
$(".sum").each(function(){
    sum += parseFloat($(this).text());
});
$("#result").text(sum)

Jeśli chodzi o sumowanie tablicy

var sum = array.reduce(function(pv, cv) { return pv + cv; }, 0);
0

Cała zabawa w moim przypadku polega na tym, że ćwiczę sobie Tablice w JS i chodzi mi konkretnie o przypadek, w którym używając pętli for sumuje sobie zawartość tablicy. Dlatego zależy mi na tym, aby zmodyfikować tak zamieszczony przeze mnie kod, aby było to możliwe, bo jak na razie to jakieś dziwne wyniki mi wychodzą.

Wielkie dzięki wszystkim za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1