Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Radio i alert
Forum PHP.pl > Forum > Po stronie przeglądarki
Wuesek
Witam, mam taki testowy skryptek, ktory nie chce mi wywalic alerta mowiacego ktore radio jest zaznaczone.

O taki:
CODE
<html>
<body>
<form name="radia">
<input type="radio" name="r" value="a"><b>a</b>
<br>
<input type="radio" name="r" value="b"><b>b</b>
<br>
<input type="submit" value="Ok" onClick="ok()">
</form>
</body>
<script type="text/javascript">
function ok()
{
for(i=0; i<document.radia.r.value; i++)
{
if(document.radia.r[i].checked)
{
alert(document.radia.r[i].value);
}
}
}
</scritpt>
</html>


Konsola wywala mi o taki blad:
"message: Statement on line 1: Type mismatch (usually non-object value supplied where object required)
stacktrace: n/a; see opera:config#UserPrefs|Exceptions Have Stacktrace
".

W sprawach DOMu i petel mam ogolnie male pojecie, wiec no...
Wuesek
W sumie srednio mi pomogl ten link.. Tego typu stron juz kilka przeczytalem, robie wedlug nich, ale dalej nic mi nie dziala. Dlatego tu wlasnie pisze...
kamil4u
Kod
<html>
<body>
<form name="radia">
<input type="radio" name="r" value="a"><b>a</b>
<br>
<input type="radio" name="r" value="b"><b>b</b>
<br>
<input type="submit" value="Ok" onclick="ok()">
</form>
</body>
<script type="text/javascript">
function ok()
{
for(i in document.radia.r)
{
if(document.radia.r[i].checked)
{
alert(document.radia.r[i].value);
}
}
}
</script>
</html>

Miałeś kilka błędów - przeanalizuj mój kod - włącznie z HTML(dokładnie script). Poznaj też takie funkcje jak np. getElementsByName. W razie czego pytaj smile.gif
Wuesek
Dzieki wielkie, ten kod dziala, ale teraz nie rozumiem do konca na jakiej zasadzie dziala teraz ta petla, i co zmienia pisanie 'onclick', a nie 'onClick'. blinksmiley.gif
kamil4u
To po kolei smile.gif
https://developer.mozilla.org/pl/Dokumentac...ecenia/for...in -> 'leci' po wszystkich elementach tablicy, a dokładnie obiektu
Cytat
o zmienia pisanie 'onclick', a nie 'onClick'

W HTML, jako atrybut nic, ale w kodzie:
Kod
<div id="test">123</div>
<script type="text/javascript">
//document.getElementById('test').onClick = function(){ this.innerHTML = 'test'; }; //nie działa
//document.getElementById('test').onclick = function(){ this.innerHTML = 'test'; }; //działa
</script>


O czego nie zauważyłeś to prawidłowe zamknięcie </script>, Ty miałeś literówkę smile.gif
Wuesek
No, literowke mialem w tagu zamykajacym skrypt, ale to nie ona byla problemem :] Wielkie dzieki za pomoc, juz czaje w miare co i jak smile.gif
Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.