Sprawdzanie wypełnienia pól formularza przed wysyłką |
Sprawdzanie wypełnienia pól formularza przed wysyłką |
7.11.2016, 09:58:55
Post
#1
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) |
Witam serdecznie,
Na stronie mam formularz. Pod formularzem mam link: W tej chwili działa to tak, że po kliknięciu powyższego linku wyskakuje okienko z pytaniem. Po wybraniu TAK - użytkownik zostaje przekierowany na stronę link_do_powrotu.html. Chciałbym żeby jeszcze przed przejściem na podstronę link_do_powrotu.html skrypt sprawdził czy znajdujący się na stronie formularz (składający się z pól: input text, select, textarea, radio) jest kompletny (każdy ma jakąś wartość). Jeśli wszystko jest wypełnione - to wtedy przechodzimy na powyższy link. Jeśli jednak któraś wartość nie byłaby wypełniona - to powinien pokazać się komunikat błędu. Na stronie mam tylko jeden formularz. Wie ktoś może jak to zrobić? Bardzo proszę o pomoc |
|
|
7.11.2016, 10:01:18
Post
#2
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 9 Dołączył: 14.09.2016 Skąd: Śląskie Ostrzeżenie: (0%) |
Atrybut required wystarczyć.
|
|
|
7.11.2016, 10:14:30
Post
#3
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) |
Zapomniałem, Chciałbym uniknąć atrybutu required:)
Poza tym chciałbym żeby było pytanie o to przekierowanie, wtedy sprawdzanie i przekierowanie/alert o błędzie |
|
|
7.11.2016, 10:20:42
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
A jest jakiś konkretny powód tego? Wspiera go 99% przeglądarek (według caniuse) i robi to co potrzebujesz.
-------------------- |
|
|
7.11.2016, 10:22:10
Post
#5
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 9 Dołączył: 14.09.2016 Skąd: Śląskie Ostrzeżenie: (0%) |
w takim razie robisz walidację w javascriptcie
Kod <script> function goIfConfirmedAndValid(){ if(confirm('Czy napewno chcesz zapisać jako poprawny?')){ // walidacja pól if(walidacja_ok){ return true; } else { alert("Uzupełnij pola ..."); return false; } } return false; } </script> Twój zamysł jest ... niewygodny. |
|
|
7.11.2016, 10:27:51
Post
#6
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) |
tak, bo mam formularz składający się z buttona (zapisuje formularz za pomocą tradycyjnego POST'a ) - ten zapis nie wymaga wszystkich pól
Ten link to zwykły <a href=) - za jego pomocą chciałbym zrobić validację + przekierowanie na url - ten zapis ma wymagać wypełnienie wszystkich pól w takim razie robisz walidację w javascriptcie Kod <script> function goIfConfirmedAndValid(){ if(confirm('Czy napewno chcesz zapisać jako poprawny?')){ // walidacja pól if(walidacja_ok){ return true; } else { alert("Uzupełnij pola ..."); return false; } } return false; } </script> Twój zamysł jest ... niewygodny. O coś takiego mi chodziło W jaki sposób dodać do tego w miejscu tego "walidacja_ok" walidację wszystkiego co znajduje się w formularzu (selecty, textarea, texty, radioboxy itp)? Formularz jest dynamiczny (generowany na podstawie bazy) Ten post edytował trifek 7.11.2016, 10:28:22 |
|
|
7.11.2016, 10:35:42
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
-------------------- |
|
|
7.11.2016, 10:42:36
Post
#8
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 9 Dołączył: 14.09.2016 Skąd: Śląskie Ostrzeżenie: (0%) |
tak, bo mam formularz składający się z buttona (zapisuje formularz za pomocą tradycyjnego POST'a ) - ten zapis nie wymaga wszystkich pól Ten link to zwykły <a href=) - za jego pomocą chciałbym zrobić validację + przekierowanie na url - ten zapis ma wymagać wypełnienie wszystkich pól O coś takiego mi chodziło W jaki sposób dodać do tego w miejscu tego "walidacja_ok" walidację wszystkiego co znajduje się w formularzu (selecty, textarea, texty, radioboxy itp)? Formularz jest dynamiczny (generowany na podstawie bazy)
Dla każdego dynamicznego pola formularza generujesz walidację tego pola, a jeśli ów pole nie spełnia wymaganych kryteriów, przestawiasz flagę na false i tym samych uniemożliwiasz (teoretycznie tylko) przesłanie formularza . |
|
|
7.11.2016, 10:50:02
Post
#9
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) |
Kombinuję coś takiego:
ale zawsze wyskakuje mi "1" i następuje przekierowanie (nie widzi pustych pól):/ Ten post edytował trifek 7.11.2016, 10:52:08 |
|
|
7.11.2016, 10:54:58
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
return 0 jest w srodku innej funkcji wiec return dotyczy tej srodkowej funkcji a nie twojej glownej... dosc logiczne.
Na koncu nie: return 1 a: return valid ? 1 : 0; -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
7.11.2016, 10:57:12
Post
#11
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) |
return 0 jest w srodku innej funkcji wiec return dotyczy tej srodkowej funkcji a nie twojej glownej... dosc logiczne. Na koncu nie: return 1 a: return valid ? 1 : 0; coś takiego:
Jeśli tak, to w dalszym ciągu nie działa |
|
|
7.11.2016, 11:04:00
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
No dobra, a czy twoje pola formularza maja w ogole klase validate-form?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
7.11.2016, 11:20:19
Post
#13
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) |
OK, zadziałało
Dziękuję za pomoc Ten post edytował trifek 7.11.2016, 11:25:46 |
|
|
7.11.2016, 11:22:00
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Skup sie: POLA FORMULARZA a nie FORMULARZ -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
7.11.2016, 11:26:19
Post
#15
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) |
|
|
|
7.11.2016, 11:27:06
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Jak już tak robisz (chociaż gotowa klasa validate ma też grupy walidacji,ale ok) to ja bym poszedł drogą dodawania/zdejmowania required. Choćby dlatego że jak sam mówisz form może mieć selecty (które mogą być multiple a wtedy val() zwraca tablicę), checkboxy.
-------------------- |
|
|
7.11.2016, 11:28:16
Post
#17
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Cytat Tak, właśnie teraz zauważyłem gafę Jak to mowia: lepiej pozno niz wcale
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
7.11.2016, 11:28:23
Post
#18
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) |
dziękuję za pomoc
Ten post edytował trifek 7.11.2016, 11:39:06 |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 07:35 |