[jquery]walidacja formularza wczytanego przez ajax


(pantera272) #1

Witam.

Mam następujący problem:

Napisałem stronę na której po kliknięciu przycisku ładowany jest za pomocą jquery ajax formularz.

Po załadowaniu formularza chcę zrobić drobną walidację. Jednak w jquery po odwołaniu do id przyciska submit (wczytanego poprzez ajax) wygląda jakby nie reagował na funkcje napisaną w jquery (chodzi o preventDefault()), storna po kliknięciu cały czas przenoszona jest dalej do atrybutu action tego formularza.

Może ktoś zna przyczynę ewentualnie potrafi naprowadzić na trop jak coś takiego się obsługuje.


(Fizyda) #2

Kiedy dodajesz nasłuchiwanie eventu na submit?


(pantera272) #3

Próbowałem ustawić pod skryptem wczytującym formularz (document.ready) oraz wczytać go razem z formularzem w sekccji <script>. właśnie wydaje mi się że nie wiem gdzie powinien się znajdować, a nie znalazłem podobnego przykładu.


(Fizyda) #4

Czemu w ogóle do wczytania formularza używasz ajaxa?

 

Nie działa Ci ponieważ ustawiasz event onclick na przycisku którego jeszcze nie ma, musisz albo dodać obsługę eventu na przycisku po jego dodaniu na stronie (w skrypcie który wczytuje formularz) lub opóźnić dodawanie obsługi eventu na przycisku w jakiś inny sposób do czasu aż formularz nie zostanie wczytany.

Gdybyś normalnie załączał formularz w dokumencie html, a nie wczytywał go dynamicznie nie byłoby problemu.


(pantera272) #5

Wczytuję formularz w ten sposób gdyż jest on generowany dynamicznie za pomocą skryptu php różne pola zależne od różnych danych. A wczytuje go przy pomocy ajaxa gdyż chcę uniknąć przeładowania strony. 


(Fizyda) #6

Nie wczytuj może całego formularza tylko same pola formularza. W tedy form i submit może być załadowane wraz z resztą strony i nawet ukryte do czasu dodania jakiś pól do formularza.