O czym pamiętać tworząc formularze
Ostatnio miałem styczność z generatorem wniosków o dofinansowanie w ramach jednego z projektów Unii Europejskiej. Całość z założenia ma za zadanie ułatwić pracę zarówno składającym taki wniosek, jak i tym, którzy całość potem muszą przeanalizować. Wiadomo - sztywne ramy, to mniej zastanawiania się nad duperelami.
Przyszło mi spędzić długie godziny przy wypełnianiu kolejnych elementów formularza i jednocześnie, przy każdym przeładowaniu strony, wieszałem psy na twórcach - firmie S&T, która to niby wie co robi.
Dobra, przesadzam. Formularz faktycznie nie jest najgorszy. Pomoc mówi, że całość działa tylko na IE. Bzdura. Wszystko jest tak bajecznie proste, że działa bez problemów na najnowszej Operze. Nie przyszło mi nawet do głowy sprawdzać strony na innych przeglądarkach, skoro pomoc mówi wyraźnie, że trzeba mieć IE. Więc - jeśli strona działa na innych przeglądarkach, nie pisz, że działa tylko na jednej. Nie muszę mówić o ile wygodniej pracuje mi się z formularzami na Operze, gdzie wszystkie skróty klawiszowe skonfigurowałem pod własne wymagania, dzięki czemu bez problemów mogę nawigować, nawet skomplikowanymi stronami, intuicyjnie. Całe szczęście, że w którymś momencie przypadek zadecydował, że formularz załadował się w mojej ulubionej przeglądarce.
Wciąż nie mogę rozgryźć, ile autor formularza faktycznie potrafi. Z jednej strony mamy naprawdę przystępnie napisaną pomoc (tzn. Jak skonfigurować IE
), mamy pola, które rozszerzają się automatycznie, jeśli wymagają tego dane. Z drugiej strony - i to właśnie główny wątek tego postu - brakuje prostego JavaScriptu.
Odpowiedź na pytanie zadane w tytule - przy formularzach używaj JavaScript! Nie każę wam zapoznawać się z samym generatorem, powiem więc ogólnie. Załóżmy, że formularz ma opcję dodawania nowych pól. Załóżmy też, że potrzebujemy takich pól około 50. Każdy, logicznie myślący webmaster, już wie, że trzeba do tego użyć właśnie JS, jednak twórca logiczne myślenie zostawił najwyraźniej w domu. Wyobraźcie sobie, że przy dodawaniu nowego pola, przeładowuje się cała strona (te wstawiane są najwyraźniej przy użyciu języka server-side). Wyobraźcie sobie, że serwer działa paskudnie wolno. W praktyce to wyglądało tak: wpisuję dane w jedno pole; naciskam przycisk dodający kolejne pole; strona się przeładowuje; szukam miejsca w którym ostatnio byłem (bo w końcu po przeładowaniu wróciłem na początek). Ludzie! Ratujcie! Tych dodatkowych pól musiałem wstawić na prawdę dużo. A przecież wystarczyłby prosty skrypt.
Do tego brakuje takich opcji jak aktywne podliczanie sum (całość również dopiero po przeładowaniu, liczone przez server-side), czy walidacja. Więc, twórcy formularzy webowych, pamiętajcie - JavaScript to obowiązkowe udogodnienie!
Informacje o stowarzyszeniu freelancerów i rozpoczęcie rekrutacji najprawdopodobniej zaraz po długim weekendzie
.