Autor | Zpráva | ||
---|---|---|---|
Lukyn2006 Profil |
#1 · Zasláno: 21. 5. 2017, 14:10:30
Díky za pomoc, budeto nějaká drobnost, snad postačí jen kod.
<input type="radio" id="puntik" value="0" ochange="swit(0)"> <br> <input type="radio" id="puntik" value="1" ochange="swit(1)"> <br> <input type="radio" id="puntik" value="2" ochange="swit(2)"> <br> <input type="radio" id="puntik" value="3" ochange="swit(3)"> <br> <p> <span id="slovo"></span> </p> <script> function swit(){ var hodnota = parseFloat(document.getElementById("puntik").value); document.getElementById("puntik").value = hodnota; var slovy; switch (hodnota) { case 0: slovy = "Nula, a to je málo "; break; case 1: slovy = "jedna "; break; case 2: slovy = "dva "; break; case 3: slovy = "tři "; break; default: slovy = "To už je zbytečně moc"; } document.getElementById("slovo").innerHTML = slovy; } </script> |
||
smitka Profil |
#2 · Zasláno: 21. 5. 2017, 16:16:41
První problém je v tom, že máš použit vícekrát atribut ID, ten musí být unikátní a nesmí být použit vícekrát.
V tvém způsobu posíláš hodnotu i jako parametr funkce swit, ale v definici funkce tuto hodnotu nezpracováváš. Když si nadefinuješ: function swit(hodnota){ tak už ji nebudeš muset načítat odjinud - musíš si ale opravit překlep, když ti chybí N v onchange. Pokud nechceš přepisovat hodnoty do parametru funkce ručně, můžeš zavolat onchange="swit(this)" a pak si vyčíst konkrétní hodnotu hodnota = hodnota.value; Pokud bys to chtěl řešit následným zpracováním, tak musíš nejprve změnit atribut id na name. A pak následně: var hodnota; var hodnoty = document.getElementByName("puntik"); for(var i=0; i<hodnoty.length; i++) { if(hodnoty[i].checked) { hodnota = hodnoty[i].value; } } Pro novější prohlížeče (caniuse.com/#feat=queryselector) můžeš také místo cyklu použít querySelector: hodnota = document.querySelector('input[name="puntik"]:checked').value; Případně při použití jQuery: hodnota = $('input[name="puntik"]:checked').val(); Když si inputy obalíš do formuláře (což by mělo být): <form name="formular""> <input type="radio" name="puntik" value="0"> <br> <input type="radio" name="puntik" value="1"> <br> <input type="radio" name="puntik" value="2"> <br> <input type="radio" name="puntik" value="3"> <br> </form> tak se k vybrané hodnotě dostaneš: hodnota = document.forms.formular.puntik.value; |
||
Časová prodleva: 8 let
|
0