![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
niemal dobrze ale ucz się dobrych praktyk i nie szukaj po kilka razy tego samego w drzewie DOM
zapisz sobie wyszukiwanie do zmiennej np. var jQ_inputs = $('[name=pole_a]', field); i potem tą zmienną możesz wykożystać... a dalej pierwszy element tablicy jest elementem drzewa DOM a nie obiektem jQ więc możesz sobie to wyszukiwanie zapisać do zmiennej (zapominając powyższe): var input = $('[name=pole_a]', field)[0]; // albo będzie element albo undefined i teraz tak jak robiłeś możesz gdyż masz element drzewa DOM: if( input && input.value === "") {} ale jeszcze w skrócie każdy pusty ciąg konwertuje się do false (ciąg ze spacją nie jest pusty ;p) więc var sMy = ""; !!sMy === false; // false - a więc !sMy === true skrócony warunek: if( input && !input.value) {} |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 14:37 |