O czym pamiętać tworząc formularze
- 25 kwietnia 2008
- 19:43:55
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
.
Komentarze
kanał komentarzy do tego artykułuJavaScript nie ma prawa być podstawą, może to być jedynie istotne uproszczenie. Choć IMO w takim przypadku najlepiej byłoby prościutkie pole liczbowe do sprecyzowania, ile pól dogenerować. Ewentualnie dokładanie naraz kilku pól zamiast jednego.
Michał Górny
19:54:28 | 25 kwietnia 2008
Nigdzie nie piszę, że ma być podstawą. Ja zwyczajnie chcę, żeby po kliknięciu ‘dodaj pole’, JS dodawał nowe pole, a nie przeładowywała się strona. Przecież takie zabiegi to podstawy podstaw. Podmienienie akcji dla buttona przez JavaScript i wszyscy są zadowoleni – nieinwazyjny JS.
zx
19:56:33 | 25 kwietnia 2008
„Więc, twórcy formularzy webowych, pamiętajcie – JavaScript to podstawa!”
Kontekst małosugestywny. Potencjalny target potraktuje to jako zachętę do używania inwazyjnego JS.
Michał Górny
19:58:53 | 25 kwietnia 2008
Może faktycznie. Dzięki, poprawiłem.
zx
19:59:55 | 25 kwietnia 2008
Faktycznie, w tym roku u mnie w szkole również wypełniamy w ten sposób wnioski, szybkość działania powala
wygląda to tak, jak opisał autor, dodajemy pole, a potem nawet 2 minuty trza czekać na przeładowanie strony. Pomyśleć że pól średnio trzeba dodać kilka do dziesięciu w co najmniej kilku kategoriach to normalnie cały dzień schodzi na generowaniu wniosku.
Wersja standalone działa identycznie jak ta online. Poprostu porażka
tydell
12:26:38 | 08 czerwca 2009