Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] Sprawdzanie, ktory radio jest zaznaczony
Forum PHP.pl > Forum > Przedszkole
lukash82
Witam. Mam taki problem z formularzem. Mam do napisania prosty test z trzema odpowiedziami i jedna ma byc poprawna. Html wyglada tak:
  1. <form name="formularz" method="post">
  2. <span class="pogrubiebie">Zadanie 1.</span> Pytanie 1
  3. <ul>
  4. <li><input type="radio" name="pyt1" value="1" />Odp1</li>
  5. <li><input type="radio" name="pyt1" value="2" />Odp2</li>
  6. <li><input type="radio" name="pyt1" value="3" />Odp3</li>
  7. </ul>
  8. </form>

a w js mam otrzymac, ktore pole jest zaznaczone i gdy na przyklad 1 bedzie zaznaczone to odpowiedz jest poprawna a gdy inne jest zaznaczone to odpowiedz jest zla. I wlasnie tu zaczynaja sie schody bo nie bardzo umie js i nie umie uzyskac, wartosci, ktora zostala zaznaczona. Gdzies wyczytalem ze robi sie to tak:
  1. var odpowiedz = (document.forms['formularz'].pyt1.value);

ale to niebardzo mi dziala, tzn wywala mi undefined...:/ Jesli wiecie jak cos takiego zrobic to prosze o jakas podpowiedz... Moze cos dodatkowo trzeba wykorzystac...? Pozdrawiam, Łukasz.
Daimos
  1. <li><input type="radio" name="pyt1" value="2" />Odp2</li>

zamien na:
  1. <li><input type="radio" name="pyt1" value="2" id="jakiesid"/>Odp2</li>

jak widzisz dodalem tylko ID i teraz mozesz tak:
  1. var wartosc = document.getElementById['jakiesid'].value;

pod ta zmienna masz teraz wartosc
oczywiscie mozna bez uzycia ID zrobic to w inny sposob, ale ja robie tak i dlatego tak pokazuje winksmiley.jpg
ps. czy sprawdzanie poprawnosci w JS ma sens jesli chodzi o test? chyba ze jest malo wazny, bo ktos zajrzy w kod i od razu bedzie wiedzial co zaznaczac. Tak samo kiedys mialem test na studiach przez neta z przysposobienia bibliotecznego smile.gif ktos zrobil value="1" przy poprawnych odpowiedziach ahhhhhh te nie dopatrzenia smile.gif
lukash82
Witam ponownie. Zrobilem tak jak radzisz ale niestety cos jednak nie chce mi to dzialac. Mam teraz cos takiego:
  1. <li><input type="radio" name="pyt1" value="0" id="zadanie1" />Odp1</li>
  2. <li><input type="radio" name="pyt1" value="1" id="zadanie1" />Odp2</li>
  3. <li><input type="radio" name="pyt1" value="0" id="zadanie1" />Odp3</li>

i w js cos takiego:
  1. var wartosc = document.getElementById['zadanie1'].value;
  2. alert(wartosc);

Teoretycznie wyglada to dobrze, a jednak nie dziala. A co do bezpieczenstwa testu to rozwiazywac go beda dzieci z klas 1-3 wiec o podgladniecie kodu sie nie martwie. Jesli znasz my salsa jednak jakis bezpieczniejszy sposob w js na taki test to podpowiedz co wykorzystac, moze sie przyda na przyszlosc. Ja cos takiego robie zawsze za pomoca PHP ale w tym przypadku nie moge z nigo skorzystac. Pozdrawiam, Łukasz.
Nattfarinn
  1. function CheckRadio(RadioName)
  2. {
  3. var RadioButtons = document.getElementsByName(RadioName);
  4. for(i = 0; i < RadioButtons.length; i++)
  5. {
  6. if(RadioButtons[i].checked)
  7. {
  8. document.getElementById('Answer').value = RadioButtons[i].value;
  9. }
  10. }
  11. }
  12.  
  13. <li><input type="radio" name="MyRadioField" value="1">Odpowiedź 1</li>
  14. <li><input type="radio" name="MyRadioField" value="2">Odpowiedź 2</li>
  15. <li><input type="radio" name="MyRadioField" value="3">Odpowiedź 3</li>
  16.  
  17. <input type="button" onclick="CheckRadio('MyRadioField');" value="Sprawdź">
  18.  
  19. <input id="Answer" size="1">


Takie rozwiązanie Cię zadowala? Chyba właściwie nie masz wyjścia, bo z tego co wiem, jedynym sposobem na sprawdzenie który element jest zaznaczony to sprawdzenie po kolei każdej możliwości.

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.