Autor Zpráva
Dano_V
Profil *
Mám jeden skript, ktorý mi vlastne aj funguje, ale tam vypočítanú hodnotu potrebujem vynásobiť hodnotami radiových imputov. Žiaľ, tieto hodnoty mi skript nesťahuje. Z ostatných inputov berie bez problémov, ale z rádia nie. Potreboval by som tú hodnotu dostať do premennej.

Celý kód je tu:
<script>
function spocitat()
{
var i,t,f,x,y;
f = document.pokus;
t = 0;

for (i=0;i<3;i++)
    {
y = f["q"+i].value / 1000;
    f["b"+i].value = y;

x = f["h"+i].value ;
    f["p"+i].value = x;
    t+=y;
}
f["suma"].value = t;
}
</script>


<FORM name=pokus action=#>
<table border=0><tr>

<th>3 mm</th>
        <td>
<span>0</span><input type="radio" value=0 name=h0  checked>|<span>1</span><input type="radio" value=1 name=h0>|<span>2</span><input type="radio" value=2  

name="h0">

    </td><TD>
<INPUT onchange=spocitat() value=0 size=3 name=q0>

    </TD><td>
<input size=8 name=b0><input size=8 name=p0>
        </td>
    </tr><TR>
<th>4 mm</th>
      <td>
<span>0</span><input type="radio" value=0  name=h1 checked>|<span>1</span><input type="radio" value=1  name=h1>|<span>2</span><input type="radio" value=2  

name=h1>

    </td><TD>
<INPUT onchange=spocitat() value=0 size=3 name=q1>
    </TD><td>

<input size=8 name=b1><input size=8 name=p1>
        </td>
    </tr><TR>

<th>5 mm</th>
     <td>
<span> 0</span><input type="radio" value=0  name=h2  checked>|<span>1</span><input type="radio" value=1  name="h2">|<span>2</span><input type="radio" 

value=2  name=h2>
    </td><TD>

<INPUT onchange=spocitat() value=0 size=3 name=q2>
    </TD><td>

<input size=8 name=b2><input size=8 name=p2>
    </td></tr>
</TABLE>

<label>Spolu </label><input size="8" name="suma">
</form>

Keď do okienka v prehliadači, kde je nula napíšem nejakú hodnotu (zvyčajne niekoľko tisíc) tak tá hodnota sa má vydeliť s tisíckou, výsledok sa vypíše do predposledného inputu a zároveň sa to sčíta do okienka "Suma". Hodnota radiových tlačítok (podľa toho, kedy ktoré tlačítko je stlačené "0","1","2") by sa mal vypísať do posledného inputu v tom istom riadku, a zároveň touto hodnotou potrebujem už vypočítanú sumu vynásobiť.

Žiaľ, neviem ako dostať hodnotu radiových inputov do premennej. Mohli by ste mi s tým niekto pomôcť?

Ďakujem
Bubák
Profil
Koukni na Odesélá se špatná hodnota radiobuttonu, tam Chamurappi popisuje, jak se s radiobuttony pracuje.
Dano_V
Profil *
Bubák:

Prečítal som tú radu, ale ma veľmi nepotešila, lebo mi z toho bolo jasné, že by som mal aj tam použiť cyklus. Keďže ale v tomto prípade aj samotný riadok je vyhľadávaný cyklom, bál som sa, že mi to nebude dobre fungovať.

Skúsil som to napriek tomu takto, a funguje to:
x = -1
            for (e=0; e<f["h"+i].length; e++) {    /*Hodnota radiových inputov, */
                if (f["h"+i][e].checked) {
                x=e;
                f["p"+i].value = x;    
                }
        }            
                
Nedal som sem celý stránku, lebo toto je súčasť toho skriptu hore. Tá rada mi predsa len pomohla. Ďakujem

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