Autor Zpráva
Phoenix
Profil *
Mám taký problém. Potrebujem pomocou JS sčítať 2 čísla, ktoré návštevník zadá do inputov ale kód
var num1=input1.value;
var num2=input2.value;
var vysledok=num1+num2;

Do políčka input1 napíšem 1 a do input2 dám 2, ale nevypíše 3 ale 12.
Ako to mám spraviť aby sa premenné sčítali?
Phoenix
Profil *
Hups :D Ten kód nefunguje (som zabudol napísať)
Medvídek
Profil
Zřejmě to bere jako string.Tady se řeilo něco podobného.
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=81 903
Phoenix
Profil
OK, objekt string. Lenže ja mam proste 2 políčka. Do jedného dám 1, do druhého 2. Pomocou JS vykonám
var result=POLICKO1+POLICKO2;

ale nevypíše mi to 3, ale napíše 12 a pýtam sa, ako to urobiť aby to nevypísalo ako reťazec, ale ako číslo (čiže 3, nie 12).
Neviem či som sa nevyjadril dosť jasne, alebo som potom somár ja a nechápem čo si mi týmto kódom chcel naznačiť...
Chamurappi
Profil
Reaguji na Phoenixe:
Viz vlákno Sčítání v JS.
Použij funkce parseInt nebo parseFloat.
Měsíček
Profil
Jestliže chceš mít funkci mimo tak:
<script type="text/javascript">
  function $ ( ) {
    with (document) {
      var p_1 = getElementById("p_1");
      var p_2 = getElementById("p_2");
      var p_3 = getElementById("p_3");
    }
      p_3.value = parseInt(p_1.value) + parseInt(p_2.value);
  }
</script>

<form action="?">
  <input id="p_1"> + <input id="p_2"> = <input id="p_3"> 
    <input type="button" onclick="$();">
</form>
Měsíček
Profil
Jestliže budeš chtít počítat s desetinnými čísly (např. 1.5 + 1.5 = 3) tak místo parseInt() dej parseFloat().

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0