Problem dość błachy i teoretycznie rozwiązany ale moje rozwiązanie wydaje się infantylne i szukam czegoś lepszego.
Przy budowaniu formularzy bardzo często wiele pól jest dynamicznych, w najprostszym przykładzie chodzi o pola opcjonalne, które pojawiają się np. po zaznaczeniu checboxa.
Przypinam event pod checbox i ukrywam odpowiednio jakiś div z opcjonalnymi polami.
Problem przychodzi po submit gdy np. wystąpiły błędy walidacji. Checbox będzie zaznaczony jednak mimo to dodatkowe pola ukryte. Rozwiązania:
1) Przy załadowaniu strony po prostu sprawdzam czy checbox jest zaznaczony i wykonuje odpowiednią akcje - ukryj/pokaż. Ten sposób działa ale jest to infantylna duplikacja kodu czy po prostu logiki całego formularza, a te mogą być naprawdę rozbudowane. Słabo to wygląda.
2) Skorzystać z trigger, na powyższym przykładzie wywołać sztuczny change na checbox'ie. Nie ma tu duplikacji kodu, wymaga to jednak znów podpinania eventów pod każdy element który ma wpływ na formularz.
Czy ktoś wymyślił coś lepszego? Może jakiś plugin do re-populating'u (te określenie pojawia się w kontekście PHP gdzie po przeładowaniu formularza dbamy o to aby nie zniknęły wartości input, zaznaczenia itp.) forma?