[ R2D21 @ 19.02.2016. 09:28 ] @
Drugarice i drugari treba mi vasa pomoć!
Pravim prve korake u JS i naidjoh na problem koji ne razumem.
Napisao sam kod koji kada se pokrene treba da izvrsava operaciju sabiranja dva broja A i B.
Pokretanjem koda ne prikazuje se zbir A i B.
Naime ako je vrednos za A:2 i vrednost B:3 kao zbir dobijam 23.
Probao sam sve ostale operacije (oduzimanje, množenje, deljenje) i radi OK.
Može te li mi pojasniti gde sam napravio grešku.
Unapred HVALA!

<!Doctype html>
<html>
<head>
<title> Sabiranje pokusaj 2 </title>

</head>
<body>
<p>Pokusaj sabiranja</p><br>
Unesite prvi broj:<input id="br1" type="number"><br>
Unesite drugi broj:<input id="br2" type="number"><br>
Rezultat je:
<button onclick="myFunction()">Pokusaj</button>
<p id="demo"></p>

<script type="text/javascript">
function myFunction(){
var a =br1.value;
var b =br2.value;
var zbir=a+b;
document.getElementById("demo").innerHTML=zbir;
}
</script>


</body>
</html>
[ whitie2004 @ 19.02.2016. 12:00 ] @
Citat:
var a =br1.value;

Ovako dobijas string u varijabli a. Kada hoces da podelis string "4" sa stringom "2" JS je dovoljno pametan da to ne ide sa stringovima vec ti on to prvo prebaci u brojeve. Sa operaterom + vec ne ume da bude pametan jer on vazi i za stringove kao i za brojeve. JS predpostavi da znas sta radis i nadoveze ti ta dva stringa. To kako JS razmislja i kojih se pravila drzi mozes da naucis direktno iz knjige ili probas u praksi svakakve kombinacije ...

Da bi ti kod radio moras da kontrolises (validiras) sta ti se nalazi u <input>. Bilo da to radis ti, brouzer ili frejmvork. Zatim pri preuzimanju odma' prebacis u brojeve. Uobicajeno se koristi:
Citat:
var a =+br1.value;
[ R2D21 @ 19.02.2016. 21:10 ] @
Hvala najlepse na odgovoru!

PS
Ono sto me je mucilo (pocetnik sam) nastalo je misleci da time sto sam definisao input type= number podrazumeva da ce var a =br1.value; isto biti number.