Autor Zpráva
Majkelju
Profil
Mám funkci na sčítání hodnot z inputů, která se zavolá při "onchange"...Správnost součtu kontroluju vypsáním pomocí alertu...Ten mi místo součtu ale ukazuje 6 hodnot, které se mají sečíst....takže to pak vypadá např. jako 006401...Nerozumím, proč se to chová jako string...Kde je zakopán pes? Předem díky za rady.

    var soucet;
    function ukazSoucet(){
    for(var i=1;i<=6;i++){
        var p=0;
        p=document.getElementById('riziko'+i).value;
        soucet = soucet+p;
    }
    alert(soucet);
    }
preca1
Profil
Zdravim,
chová se to jako řetězec, protože to je řetězec. Můžeš použít parseInt nebo parseFloat.
pako
Profil *
Majkelju:
ak nepotrebujes kontrolovat ci sa v tych inputoch nachadzaju naozaj len cisla, pouzi na hodnotu co ziskas z inputu Number() alebo + - tym ich prevedies na typ Number.
p=Number(document.getElementById('riziko'+i).value);
p=+document.getElementById('riziko'+i).value;
Trejpa
Profil
Majkelju:
Doplním preca1. Například takto:
<script>
var soucet=0;
function ukazSoucet(){
 for(var i=1;i<=6;i++){
  var p=0;
  p= parseInt(document.getElementById('riziko'+i).value, 10);
  soucet = soucet+p;
  }
  alert(soucet);
 }
</script>
Majkelju
Profil
Díky za rady, alert mi však stále ukazuje sled šesti čísel místo součtu :/
Trejpa: K čemu je to číslo v druhém parametru fce?

EDIT: Vyřešeno, 7. řádek jsem upravil na soucet = +soucet+p;, jak psal pako.
pako
Profil *
Majkelju:
radix - hovori funkcii do akej ciselnej sustavy previest hondotu - 2,8,10,16, 32.
mimochodom tej trejpov kod funguje bez problemov

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: