Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jquery]sprawdzenie pol formularza
trucksweb
post 20.01.2009, 09:29:15
Post #1





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


zaczynam pisac prosty validator formularza i doszedlem do momentu, w ktorym chce sprawdzic czy wszystkie pola z klasa required sa wypelnione.
oto kod
  1. <?php
  2. $(document).ready(function() {
  3.  $('form').submit(function() {
  4.  
  5.    if($((':input')).attr('class')=='required'){
  6.  
  7.        alert($((':input.required')).attr('name'));
  8.  
  9.    };
  10.    
  11.    
  12.    
  13.    
  14.    
  15.  
  16.  });
  17.  
  18. });
  19. ?>

niestety ten if nie leci przez wszystkie pola tylko jakos inaczej ? a jak to zrobic aby wypisal mi w alercie wszystkie pola z ta klasa?

i drugie pytanie, czy oplaca sie robic taka validacje ?skoro mozna wylaczyc js i juz formularz przejdzie bez problemu, czy zastosowac jeszcze obowiazkowa filtracje w php ?

Ten post edytował trucksweb 20.01.2009, 09:47:33


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
EarthCitizen
post 20.01.2009, 09:32:31
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

Ostrzeżenie: (0%)
-----


Nie używam jQuery to nie pomogę w tym temacie, ale tam chyba brakuje pętli do wypisania tych pól?
A co do walidacji po stronie serwera to jak najbardziej, nie tylko ze względu możliwości wyłączenia JS w przeglądarce, ale wysłania danych na adres z action przez bota, podstawiony formularz itd ...
Go to the top of the page
+Quote Post
nospor
post 20.01.2009, 09:35:05
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ale jaki to ma zwiazek z ajaxem? przenosze

walidacja po stronie serwera zawsze musi byc . Walidacja js jest tylko miłym dodatkiem - niczym wiecej

if($((':input.required')).attr('class')=='required'){
chyba nie kumasz jak dziala jquery. Wyjasnie ci ten kod powyzej:
znajdujesz wszystkie inputy z klasą required, a potem sprawdzasz czy klasa to required blinksmiley.gif

pozatym i tak źle to robisz. Musisz uzyc each() by przeleciec po wszystkich znalezionych elementach


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ziqzaq
post 20.01.2009, 09:36:38
Post #4





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


Już ci pisałem, ale co tam: each.
Pobierasz pola z klasą "required" (w dodatku chyba błędnie) i później sprawdzasz czy te pola mają klasę "required".
  1. <?php
  2. if($((':input.required')).attr('class')=='required'){
  3. ?>


Edit: Sorry ~nospor, nie zauważyłem :/

Ten post edytował ziqzaq 20.01.2009, 09:38:34
Go to the top of the page
+Quote Post
nospor
post 20.01.2009, 09:38:57
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Już ci pisałem, ale co tam

@trucksweb zacznij analizowac wskazówki i rozwiązania z innych swoich tematow, bo będe niemily smile.gif

@ziqzaq luzik, dzieki twemu postowi mogę się popastwić na truckiem winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kilas88
post 26.01.2009, 17:21:46
Post #6





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

Ostrzeżenie: (0%)
-----


Nie lepiej skorzystać z gotowej biblioteki jquery.validate.js ?

Zamiast bawić się, marnować czas, wynajdować na nowo koło (które w powyższym przypadku zdaje się przybierać kształt kwadratu tongue.gif) wystarczyłoby dać kod w stylu:

Kod
      $("#formularz").validate({
     errorPlacement: function(error, element) {
         error.appendTo( element.parent("div").append("<div></div>") );
     },
     rules: {
         form_nazwisko: {
             required: true,
             minlength: 2,
             maxlength: 22
         },
         form_temat: {
             minlength: 5,
             maxlength: 255
         },
         form_tresc: {
             required: true,
             minlength: 30,
             maxlength: 12255
         },
         form_mail: {
             email: true
         },
         form_captcha: {
             required: true,
             minlength: 4,
             maxlength: 6,
             remote: "./ajax/captcha.php"
         }
     },
     messages: {
         form_captcha: {
             remote: 'Proszę wprowadzić prawidłowy kod zabezpieczający.'
         }
     }
 });
    }



I tyle w tym temacie!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.06.2025 - 22:43