![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 6.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Zrobilem walidacje formularza, która ma sprawdzac czy uzytkownik wprowadzil wartosci we wszystkie pola formularza. Walidacja dziala jesli wszytskie elementy tablicy row mają "Yes". W przypadku gdy w row[1]="No" chcialbym aby zostały sprawdzone pozostale dwa pola plec oraz kraj. Niestety tak się nie dzieje, formularz przechodzi gdy wszytskie pola sa puste
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Z Twojego kodu nigdzie nie wynika co tak naprawdę (i gdzie ustalasz) zawierają elementy tablicy $row.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 6.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Do tablicy tab trafia wynik zapytania MySQL.
Nie wstawilem tego fragmentu kodu poniewaz uwazam ze jest nieistotny |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wrzuć jednak przed linią 6:
i pokaż jaki będzie tego wynik. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 6.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Czy w takim razie jeśli jeden element ma "No", to pozostałe niezależnie jaką mają wartość i tak mają przechodzić walidację?
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 6.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Powinno być sprawdzane pole tekstowe w formularzu dla które przypisane jest YES w row np.
Gdy row[0]=Yes & row[1]=Yes & row[2]=Yes sprawdzane powinno być każde pole tj. plec, zawod, kraj Gdy row[0]=No & row[1]=Yes & row[2]=Yes sprawdzane powinno być pole zawod oraz kraj Gdy row[0]=No & row[1]=No & row[2]=Yes sprawdzane powinno być wyłącznie pole kraj Gdy row[0]=No & row[1]=Yes & row[2]=No sprawdzane powinno być wyłącznie pole zawód itd Napisany przeze mnie kod JS sprawdza wszytskie pola niezaleznie od wartości w row. Aby rozwiazać problem postanowiłem zmodyfikować kod JS:
Nastepnie sprawdzilem zachowanie skryptu w przypadku gdy wartosc row[0]="Yes", row[1]="No" i row[2]="Yes". Zgodnie z tym co napisalem wyzej skrypt powinien sprawdzić czy pole "plec" lub "kraj" jest wypelnione, i wyswietlic alert abc1, abc2, abc3, abc4 i jeśli pole plec lub kraj nie jest wypelnione to zwrocić błąd. Dzieje się inaczej: Wyświetla się wylacznie alert abc1 i abc2. Skrypt prawdopodobnie "krzaczy" przy rejestracja.zawod.value=="" poniewaz pole zawod nie istnieje. Moje pytanie - czyistnieje jakis warunek sprawdzajacy istnienie "rejestracja.zawod.value" ? Ten post edytował imie_nazwisko 14.11.2014, 06:41:15 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Czekaj, ale ta walidacja ma pośredni związek z warunkami w skrypcie PHP.
W zależności od Yes lub No, drukujesz na ekranie odpowiednie pola w tym skrypcie, a nie robisz ich walidację na poziomie PHP. W JS sprawdzasz wszystkie pola, nawet jeśli w PHP wydrukujesz tylko jedno. Albo w JS powinieneś sprawdzać pola, które istnieją, albo w PHP drukować wszystkie. P.S. Oprócz tego powinieneś zrobić walidację na poziomie PHP, czyli użyć Yes lub No, nie do uwarunkowania drukowania pola, ale właśnie walidacji (w PHP). -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 6.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 6.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Problem rozwiązany. Dziękuje za pomoc.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.07.2025 - 17:01 |