Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Walidacja formularzy z radio
Forum PHP.pl > Forum > Przedszkole
Neojawor
Witam.
Postanowiłem ugryźć JS i od razu duży problem. sciana.gif
Mam spory formularz (generowany przez PHP z bazy danych), w którym jest mnóstwo pól typu radio. Potrzebuję sprawdzić, czy wszystkie zostały wypełnione. Problem w tym, że gdy mam kilka radio pod tą samą nazwą, to
  1. formularz.elements[i]
nie przeskakuje po kolejnych grupach elementów radio, tylko po poszczególnych "radiach". Wykombinowałem jak to przeskoczyć, ale coś nie działa, a ja nie wiem jak debugować JS - jak uruchamiam, to skrypt po prostu nie działa, bez żadnych błędów dry.gif . Poniżej zamieszczam kod:
  1. <?php
  2. function sprawdz(form)
  3. {
  4.    var bledy="";
  5.    for (i = 0; i < form.length; i++)
  6.    {
  7.        var pol = form.elements[i];
  8.        var pole = document.getElementsByName(pol.name);
  9.        var tab = pole.tabIndex;
  10.        
  11.        if ( pole.name == "wiek" && pole.value="" )     bledy += "Proszę podać wiek \n";
  12.        
  13.        if ( pole.type=="radio" && pole.checked==false )
  14.        {
  15.            if (pole.name == "plec" )    bledy += "Proszę podać swoją płeć \n";    
  16.            if (tab>=3 && tab<=11)    bledy += "Proszę dokładnie wypełnić część \"1) Moi koledzy\" \n";
  17.            if (tab>=12 && tab<=24)    bledy += "Proszę dokładnie wypełnić część \"2) Mój przełożony\" \n";
  18.            if (tab>=25 && tab<=37)    bledy += "Proszę dokładnie wypełnić część \"3) Moja praca\" \n";
  19.            if (tab>=38 && tab<=49)    bledy += "Proszę dokładnie wypełnić część \"4) Moje warunki pracy\" \n";
  20.            if (tab>=50 && tab<=63)    bledy += "Proszę dokładnie wypełnić część \"5) Organizacja i kierownictwo\" \n";
  21.            if (tab>=64 && tab<=73)    bledy += "Proszę dokładnie wypełnić część \"6) Mój rozwój\" \n";
  22.            if (tab>=74 && tab<=81)    bledy += "Proszę dokładnie wypełnić część \"7) Moje wynagrodzenie\" \n";
  23.            if (tab==82)    bledy += "Proszę dokładnie wypełnić część \"8) Czas pracy\" \n";
  24.            if (tab==83)    bledy += "Proszę dokładnie wypełnić część \"9) Zapewnione miejsce pracy\" \n";
  25.            if (tab==84)    bledy += "Proszę określić ogólne zadowolenie ze swojej pracy \n";
  26.            if (tab==85)    bledy += "Proszę określić ogólne zadowolenie ze swojego życia \n";
  27.            
  28.        }
  29.        if (tab>=86 && tab<=93 && )                bledy += "Proszę dokładnie uzupełnić \"8 sfer\" \n";
  30.        if (pole.name == "sum" && pole.value != 80)    bledy += "Suma w \"8 sferach\" musi być równa 80!!";
  31.        i += pole.length;
  32.        i--;    
  33.    }
  34.    if ( bledy != "" )
  35.    {
  36.        window.alert(bledy);
  37.        return false;
  38.    }
  39.    return true;
  40. }
  41. ?>

Znaczniki <?PHP i ?> dodane tylko dla ładnego kolorowania i zachowania wcięć.
Byłbym wdzięczny zarówno za pomoc z problemem jak i za zdradzenie tajemnicy jak to dziadostwo debugować:
lord_t
Debuguj "to dziadostwo" firebugiem (wtyczka do FF, vide: mój podpis)

Pola radio a js.
filancompl
Jeżeli sprawdzanie pól radio
to może się komuś przydać

http://forum.webesteem.pl/viewtopic.php?t=14707

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.