Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Dynamiczne pola formularza + walidacja pól = dziwne cachowanie
Elber
post
Post #1





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Witam,

mam problem, mam formularz który po wybraniu selecta bez przeładowania strony wysyła info do pliku php i odbiera dodatkowe pola do tego formularza. Próbuję teraz napisać prostą funkcję w JS która sprawdzi czy jest dane pole i jak jest czy jest puste, jak jest puste to alert ... ale dzieją się dziwne rzeczy, otóż np.

Wybieram coś z selekta i dostaje pole a, b i c klikam żeby sprawdziło i wyskakuje że pola są puste, zmieniam selecta stare pola się usuwają i dostaje zamiast nich pola d, e, f klikam żeby sprawdziło i teraz pola a,b,c,d,e,f są puste ... tylko że ich już nie ma i nie powinno tego pokazać ;/ Czym to jest spowodowane ?

Pola sprawdzam w ten sposób:

Kod
if(field.pole_a && field.pole_a.value == ""){
        alert('Pole a jest puste');
}



field(to zmienna z zawartością formularza)

Ten post edytował Elber 4.03.2012, 00:03:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


jest szybszy i dokładniejszy
http://www.doman.art.pl/kursjs/kurs/operat...html#porownania

ps.
w ifie sprawdzenie tego $('[name=pole_a]', field) nic Ci nie da gdyż nawet pusty obiekt jQ konwertuje się do true - musisz sprawdzić albo length albo pierwszy element tablicy... oczywiście jak widzę sprawdzenie tego jest widocznie w jQuery skoro wystarczyło skożystać z metody .val() - a więc de fakto o tych sprawdzeniach o których pisałem tutaj możesz zapomnieć - jednak pamiętaj o nich gdyż przyda Ci się to w innych sytuacjach ;]
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 01:47