Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki

Menu w kilku krokach

Menu warto przygotować w dwóch wersjach – na urządzenia mobilne oraz komputery.

Menu – wersja na komputery

Wykorzystujemy tag header – wewnątrz niego umieścimy cały kod dotyczący menu. Następnie tworzymy listę elementów menu, a do każdego z nich dodajemy linki. Tymczasowo mogą być puste i odsyłać na górę strony (href="#"), jednak docelowo umieścimy tam odniesienia do konkretnych identyfikatorów (dzięki temu po kliknięciu strona przeniesie nas do właściwej sekcji).

Po wykonaniu wymienionych kroków otrzymujemy następujący kod:

Linia 1. otwórz nawias ostrokątny header zamknij nawias ostrokątny. Linia 2. otwórz nawias ostrokątny ul zamknij nawias ostrokątny. Linia 3. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka cudzysłów zamknij nawias ostrokątny element menu 1 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 4. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka cudzysłów zamknij nawias ostrokątny element menu 2 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 5. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka cudzysłów zamknij nawias ostrokątny element menu 3 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 6. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka cudzysłów zamknij nawias ostrokątny element menu 4 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 7. otwórz nawias ostrokątny prawy ukośnik ul zamknij nawias ostrokątny. Linia 8. otwórz nawias ostrokątny prawy ukośnik header zamknij nawias ostrokątny.

Otrzymujemy następujące menu:

Ważne!

Linki łączą ze sobą strony, umożliwiając przechodzenie pomiędzy nimi. Linki wewnętrzne kierują do innych miejsc na tej samej stroniestrona internetowastronie lub jej podstron. Linki zewnętrzne kierują do innych źródeł.

Aby stworzyć link, niezależnie od jego rodzaju, wykorzystujemy tag <a> (z ang. anchor – kotwica). Ten tag może mieć atrybut <href> (z ang.  hypertext reference), który jako wartość przyjmuje informację, gdzie link ma przenieść użytkownika. Dodatkowo możesz zastosować atrybut <target>, który poprzez wskazanie wartości _blank otworzy link w nowej karcie. Domyślnie atrybut ten ma wartość ustawioną na _self i otwiera link w tej samej karcie.

Następny krok to dodanie stylu do stworzonej listy. Pozbędziemy się kropek, koloru linków oraz wyświetlimi elementy obok siebie.

Linia 1. header otwórz nawias klamrowy. Linia 2. align minus items dwukropek center średnik. Linia 3. display dwukropek flex średnik. Linia 4. justify minus content dwukropek space minus between średnik. Linia 5. padding minus bottom dwukropek 2rem średnik. Linia 6. zamknij nawias klamrowy. Linia 8. header ul otwórz nawias klamrowy. Linia 9. border minus radius dwukropek 6px średnik. Linia 10. cursor dwukropek pointer średnik. Linia 11. display dwukropek inline minus block średnik. Linia 12. font minus weight dwukropek 700 średnik. Linia 13. margin minus left dwukropek 1rem średnik. Linia 14. padding dwukropek 0 kropka 25rem 0 kropka 5rem średnik. Linia 15. transition dwukropek all 0 kropka 25s ease minus in minus out 0s średnik. Linia 16. zamknij nawias klamrowy. Linia 18. header ul li a otwórz nawias klamrowy. Linia 19. color dwukropek var otwórz nawias okrągły minus minus secondary minus color zamknij nawias okrągły średnik. Linia 20. text minus decoration dwukropek none średnik. Linia 21. zamknij nawias klamrowy. Linia 23. at media otwórz nawias okrągły min minus width dwukropek 905px zamknij nawias okrągły otwórz nawias klamrowy. Linia 24. header otwórz nawias klamrowy. Linia 25. justify minus content dwukropek space minus between średnik. Linia 26. zamknij nawias klamrowy. Linia 27. header ul otwórz nawias klamrowy. Linia 28. display dwukropek block średnik. Linia 29. zamknij nawias klamrowy. Linia 30. zamknij nawias klamrowy.

Przewidując, że menu będzie dostosowywać się do wielkości ekranu, na którym będzie wyświetlane, od razu możesz dodać taką informację, korzystając z @media.

Każdy wskazany w kodzie html element wymaga stylizacji.

Załóżmy, że po lewej stronie menu chcemy umieścić logotyp – jak to zrobić?

Linia 1. otwórz nawias ostrokątny div class znak równości cudzysłów logo cudzysłów zamknij nawias ostrokątny otwórz nawias ostrokątny i class znak równości cudzysłów fas fa minus utensils cudzysłów zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik i zamknij nawias ostrokątny Lorem ipsum otwórz nawias ostrokątny prawy ukośnik div zamknij nawias ostrokątny.

To jednak nie koniec – logotyp wymaga ostylowania.

Linia 1. header kropka logo otwórz nawias klamrowy. Linia 2. animation dwukropek mylogo 2s infinite średnik. Linia 3. color dwukropek var otwórz nawias okrągły minus minus secondary minus color zamknij nawias okrągły średnik. Linia 4. display dwukropek inline minus block średnik. Linia 5. font minus size dwukropek 1 kropka 5rem średnik. Linia 6. font minus weight dwukropek 900 średnik. Linia 7. padding dwukropek 0 kropka 25rem 0 kropka 5rem średnik. Linia 8. zamknij nawias klamrowy. Linia 10. at keyframes mylogo otwórz nawias klamrowy. Linia 11. 0 procent otwórz nawias klamrowy. Linia 12. color dwukropek var otwórz nawias okrągły minus minus secondary minus color zamknij nawias okrągły średnik. Linia 13. zamknij nawias klamrowy. Linia 14. 50 procent otwórz nawias klamrowy. Linia 15. color dwukropek kratka fff średnik. Linia 16. zamknij nawias klamrowy. Linia 17. zamknij nawias klamrowy.

Efekt:

R18d7CTdFOKpl
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Dodajmy jeszcze odpowiednie wartości do atrybutu href.

Linia 1. otwórz nawias ostrokątny div class znak równości cudzysłów wrapper cudzysłów zamknij nawias ostrokątny. Linia 2. otwórz nawias ostrokątny header zamknij nawias ostrokątny. Linia 3. otwórz nawias ostrokątny div class znak równości cudzysłów logo cudzysłów zamknij nawias ostrokątny otwórz nawias ostrokątny i class znak równości cudzysłów fas fa minus utensils cudzysłów zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik i zamknij nawias ostrokątny Lorem ipsum otwórz nawias ostrokątny prawy ukośnik div zamknij nawias ostrokątny. Linia 4. otwórz nawias ostrokątny ul zamknij nawias ostrokątny. Linia 5. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka element menu 1 cudzysłów zamknij nawias ostrokątny element menu 1 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 6. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka element menu 2 cudzysłów zamknij nawias ostrokątny element menu 2 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 7. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka element menu 3 cudzysłów zamknij nawias ostrokątny element menu 3 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 8. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka element menu 4 cudzysłów zamknij nawias ostrokątny element menu 4 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 9. otwórz nawias ostrokątny prawy ukośnik ul zamknij nawias ostrokątny. Linia 10. otwórz nawias ostrokątny prawy ukośnik header zamknij nawias ostrokątny. Linia 11. otwórz nawias ostrokątny prawy ukośnik div zamknij nawias ostrokątny.

Menu w wersji mobilnej

Jest wiele możliwości przeniesienia gotowego menu na wersje mobilne. Zaprezentujemy jedno z nich.

Przygotujmy sekcję z klasą  mobile‑section, która w połączeniu z kodem w języku  Java Script będzie chowana lub wyświetlana w zależności od rozmiaru ekranu.

Linia 1. otwórz nawias ostrokątny section class znak równości cudzysłów mobile minus section cudzysłów zamknij nawias ostrokątny. Linia 2. otwórz nawias ostrokątny button zamknij nawias ostrokątny otwórz nawias ostrokątny i class znak równości cudzysłów fas fa minus bars cudzysłów zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik i zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik button zamknij nawias ostrokątny. Linia 3. otwórz nawias ostrokątny ul class znak równości cudzysłów menu cudzysłów zamknij nawias ostrokątny. Linia 4. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka element menu 1 cudzysłów zamknij nawias ostrokątny element menu 1 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 5. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka element menu 2 cudzysłów zamknij nawias ostrokątny element menu 2 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 6. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka element menu 3 cudzysłów zamknij nawias ostrokątny element menu 3 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 7. otwórz nawias ostrokątny li zamknij nawias ostrokątny otwórz nawias ostrokątny a href znak równości cudzysłów kratka element menu 4 cudzysłów zamknij nawias ostrokątny element menu 4 otwórz nawias ostrokątny prawy ukośnik a zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik li zamknij nawias ostrokątny. Linia 8. otwórz nawias ostrokątny prawy ukośnik ul zamknij nawias ostrokątny. Linia 9. otwórz nawias ostrokątny prawy ukośnik section zamknij nawias ostrokątny.
Linia 1. kropka mobile minus section otwórz nawias klamrowy. Linia 2. postion dwukropek absolute średnik. Linia 3. top dwukropek 1rem średnik. Linia 4. left dwukropek 1rem średnik. Linia 5. zamknij nawias klamrowy. Linia 7. kropka mobile minus section button otwórz nawias klamrowy. Linia 8. background minus color dwukropek transparent średnik. Linia 9. border dwukropek none średnik. Linia 10. border minus radius dwukropek 6px średnik. Linia 11. color dwukropek kratka fff średnik. Linia 12. font minus size dwukropek 2 kropka 25rem średnik. Linia 13. padding dwukropek 0 kropka 5rem 1 kropka 25rem średnik. Linia 14. transition dwukropek all 0 kropka 25s ease minus in minus out 0s średnik. Linia 15. zamknij nawias klamrowy. Linia 16. kropka mobile minus section ul otwórz nawias klamrowy. Linia 17. background minus color dwukropek kratka fff średnik. Linia 18. display dwukropek none średnik. Linia 19. list minus style dwukropek none średnik. Linia 20. zamknij nawias klamrowy. Linia 21. kropka mobile minus section ul li otwórz nawias klamrowy. Linia 22. padding dwukropek 0 kropka 75rem 1rem średnik. Linia 23. zamknij nawias klamrowy. Linia 24. kropka mobile minus section ul a otwórz nawias klamrowy. Linia 25. text minus decoration dwukropek none średnik. Linia 26. color dwukropek var otwórz nawias okrągły minus minus secondary minus color zamknij nawias okrągły średnik. Linia 27. zamknij nawias klamrowy. Linia 28. kropka mobile minus section dwukropek hover button otwórz nawias klamrowy. Linia 29. background minus color dwukropek var otwórz nawias okrągły minus minus secondary minus color zamknij nawias okrągły średnik. Linia 30. zamknij nawias klamrowy. Linia 31. kropka mobile minus section dwukropek hover ul otwórz nawias klamrowy. Linia 32. display dwukropek block średnik. Linia 33. border dwukropek 1px solid darkblue średnik. Linia 34. width dwukropek 20rem średnik. Linia 35. border minus radius dwukropek 6px średnik. Linia 36. zamknij nawias klamrowy.

Sprawdźmy, czy wszystko działa poprawnie. W tym celu otwórzmy stronę w różnych przeglądarkach.

Formularz

Przykładowe formularze, z których korzystasz na różnych stronach internetowych, zawierają zazwyczaj trzy rodzaje elementów:

  • pola, które wypełnia użytkownik;

  • pola, które wybiera użytkownik spośród dostępnych opcji;

  • przycisk zatwierdzający i wysyłający formularz.

Wszystkie pola w formularzu powinny zawierać się w tagu, który służy do formularza definiowania:

Linia 1. otwórz nawias ostrokątny form zamknij nawias ostrokątny.

Podstawowymi elementami formularza są:

Linia 1. otwórz nawias ostrokątny input zamknij nawias ostrokątny.

Służy do pobierania różnych wartości od użytkownika i ma różne typy, m.in. text, email, submit. W tym tagu możesz również wskazać atrybut <placeholder>, który wypełnia pusty tag <input>, stanowiąc dodatkową podpowiedź dla użytkownika.

Dla zainteresowanych

Właściwością elementu <input> jest między innymi <input.value>, które zwraca wartość, jaką przyjmuje <input>.

Linia 1. var input znak równości document kropka querySelector otwórz nawias okrągły “ kratka submitBtn cudzysłów zamknij nawias okrągły średnik. Linia 3. console kropka log otwórz nawias okrągły input kropka value zamknij nawias okrągły średnik. Linia 4. prawy ukośnik prawy ukośnik zwraca aktualną wartość przecinek czyli Wyślij. Linia 6. input kropka value znak równości “Zmiana wartości tagu input cudzysłów. Linia 7. prawy ukośnik prawy ukośnik zmienia i ustawia nową wartość tagu input.
Linia 1. otwórz nawias ostrokątny label zamknij nawias ostrokątny.

Za pomocą tego znacznika podpowiadamy użytkownikowi, co ma wpisać w dane pole. Jest zawsze powiązany z tagiem <input>.

Sposób, który wykorzystuje, obejmuje nadanie tagowi <label> atrybutu <for>, a tagowi <input> <id> o takiej samej wartości. Jednak możesz spotkać się z innymi kombinacjami powiązania tych dwóch elementów.

Linia 1. otwórz nawias ostrokątny label for znak równości cudzysłów userName cudzysłów zamknij nawias ostrokątny. Linia 2. otwórz nawias ostrokątny i class znak równości cudzysłów fa fa minus lg fa fw fa minus user zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik i zamknij nawias ostrokątny. Linia 3. otwórz nawias ostrokątny prawy ukośnik label zamknij nawias ostrokątny. Linia 4. otwórz nawias ostrokątny input name znak równości cudzysłów name cudzysłów id znak równości cudzysłów userName cudzysłów type znak równości cudzysłów text cudzysłów placeholder znak równości cudzysłów Podaj swoje imie cudzysłów zamknij nawias ostrokątny.

W formularzu wykorzystujemy również tag <textarea>, który pozwala na wpisanie większej ilości tekstu oraz <select>, pozwalający użytkownikowi na dokonanie wyboru.

Wykorzystanie tagu <select> jest związane z udostępnieniem użytkownikowi opcji, z których może wybrać. Przykładowa ich konstrukcja może wyglądać następująco:

Linia 1. otwórz nawias ostrokątny label for znak równości cudzysłów country cudzysłów zamknij nawias ostrokątny. Linia 2. otwórz nawias ostrokątny i class znak równości cudzysłów fas fa minus city cudzysłów zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik i zamknij nawias ostrokątny. Linia 3. otwórz nawias ostrokątny prawy ukośnik label zamknij nawias ostrokątny. Linia 4. otwórz nawias ostrokątny select id znak równości cudzysłów country cudzysłów name znak równości cudzysłów city cudzysłów zamknij nawias ostrokątny. Linia 5. otwórz nawias ostrokątny option value znak równości cudzysłów wroclaw cudzysłów zamknij nawias ostrokątny Wrocław otwórz nawias ostrokątny prawy ukośnik option zamknij nawias ostrokątny. Linia 6. otwórz nawias ostrokątny option value znak równości cudzysłów warszawa cudzysłów zamknij nawias ostrokątny Warszawa otwórz nawias ostrokątny prawy ukośnik option zamknij nawias ostrokątny. Linia 7. otwórz nawias ostrokątny option value znak równości cudzysłów krakow cudzysłów zamknij nawias ostrokątny Kraków otwórz nawias ostrokątny prawy ukośnik option zamknij nawias ostrokątny. Linia 8. otwórz nawias ostrokątny option value znak równości cudzysłów other cudzysłów zamknij nawias ostrokątny Inna lokalizacja otwórz nawias ostrokątny prawy ukośnik option zamknij nawias ostrokątny. Linia 9. otwórz nawias ostrokątny prawy ukośnik select zamknij nawias ostrokątny.

Walidacja formularza

Po kliknięciu przycisku Wyślij, nie wypełniając żadnego pola, możesz zauważyć, że pojawia się prośba o wypełnienie go w wymaganych miejscach. Jest to związane z prostą walidacją umieszczoną w skrypcie na końcu sekcji <body> w pliku html.

Walidacja, którą wykorzystujemy zawiera pewne elementy.

  1. Zdefiniowanie podstawowych składowych formularza i zapisanie ich do zmiennych.

Linia 1. cacheDom dwukropek function otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. prawy ukośnik prawy ukośnik MAIN PARENT ELEMENT. Linia 3. this kropka contactForm znak równości document kropka getElementById otwórz nawias okrągły cudzysłów contactForm cudzysłów zamknij nawias okrągły średnik. Linia 4. prawy ukośnik prawy ukośnik MAIN FORM ELEMENTS. Linia 5. this kropka formHeader znak równości document kropka querySelector otwórz nawias okrągły cudzysłów kratka formHeader h2 cudzysłów zamknij nawias okrągły średnik. Linia 6. this kropka formBody znak równości document kropka getElementById otwórz nawias okrągły cudzysłów formBody cudzysłów zamknij nawias okrągły średnik. Linia 7. this kropka inputContainer znak równości document kropka getElementsByClassName otwórz nawias okrągły cudzysłów inputContainer cudzysłów zamknij nawias okrągły dwukropek. Linia 8. prawy ukośnik prawy ukośnik USER INPUT ELEMENTS. Linia 9. prawy ukośnik prawy ukośnik INPUT FIELDS. Linia 10. this kropka fields znak równości otwórz nawias klamrowy. Linia 11. userName dwukropek document kropka getElementById otwórz nawias okrągły cudzysłów userName cudzysłów zamknij nawias okrągły przecinek. Linia 12. userEmail dwukropek document kropka getElementById otwórz nawias okrągły cudzysłów userEmail cudzysłów zamknij nawias okrągły przecinek. Linia 13. userMessage dwukropek document kropka getElementById otwórz nawias okrągły cudzysłów userMessage cudzysłów zamknij nawias okrągły. Linia 14. zamknij nawias klamrowy średnik. Linia 15. this kropka submitBtn znak równości document kropka getElementById otwórz nawias okrągły cudzysłów submitBtn cudzysłów zamknij nawias okrągły średnik.
  1. Użycie metody  preventDefault(), w celu zablokowania przeładowania strony po kliknięciu przycisku Wyślij.

Linia 1. preventDefault dwukropek function otwórz nawias okrągły evnt zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. prawy ukośnik prawy ukośnik PREVENT DEFUALT. Linia 3. evnt kropka preventDefault otwórz nawias okrągły zamknij nawias okrągły średnik. Linia 4. zamknij nawias klamrowy przecinek.
  1. Sprawdzenie, czy pola są prawidłowo wypełnione.

Linia 1. checkFields dwukropek function otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. var i przecinek. Linia 3. validCount znak równości 0 przecinek. Linia 4. prawy ukośnik prawy ukośnik EMAIL FILTER. Linia 5. filter znak równości prawy ukośnik kareta otwórz nawias okrągły otwórz nawias kwadratowy a minus zA minus Z0 minus 9 podkreślnik lewy ukośnik kropka lewy ukośnik minus zamknij nawias kwadratowy zamknij nawias okrągły plus lewy ukośnik at otwórz nawias okrągły otwórz nawias okrągły otwórz nawias kwadratowy a minus zA minus Z0 minus 9 lewy ukośnik minus zamknij nawias kwadratowy zamknij nawias okrągły plus lewy ukośnik kropka zamknij nawias okrągły plus otwórz nawias okrągły otwórz nawias kwadratowy a minus zA minus Z0 minus 9 zamknij nawias kwadratowy otwórz nawias klamrowy 2 przecinek 4 zamknij nawias klamrowy zamknij nawias okrągły plus $ prawy ukośnik średnik. Linia 6. prawy ukośnik prawy ukośnik CYLCE THROUGH INPUTS. Linia 7. for otwórz nawias okrągły i in this kropka fields zamknij nawias okrągły otwórz nawias klamrowy. Linia 8. if otwórz nawias okrągły this kropka fields kropka hasOwnProperty otwórz nawias okrągły i zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 9. input znak równości this kropka fields otwórz nawias kwadratowy i zamknij nawias kwadratowy średnik. Linia 10. prawy ukośnik prawy ukośnik CHECK IF FIELD IS EMPTY. Linia 11. if otwórz nawias okrągły input kropka value znak równości znak równości znak równości cudzysłów cudzysłów zamknij nawias okrągły otwórz nawias klamrowy. Linia 12. prawy ukośnik prawy ukośnik ADD ERROR CLASS. Linia 13. this kropka addClass otwórz nawias okrągły input przecinek classError zamknij nawias okrągły średnik. Linia 14. prawy ukośnik prawy ukośnik CHECK IF EMAIL IS VALID. Linia 15. zamknij nawias klamrowy else if otwórz nawias okrągły i znak równości znak równości znak równości cudzysłów userEmail cudzysłów ampersant ampersant wykrzyknik filter kropka test otwórz nawias okrągły input kropka value zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 16. prawy ukośnik prawy ukośnik ADD ERROR CLASS. Linia 17. this kropka addClass otwórz nawias okrągły input przecinek classError zamknij nawias okrągły średnik. Linia 18. zamknij nawias klamrowy else otwórz nawias klamrowy. Linia 19. prawy ukośnik prawy ukośnik FIELD IS VALID. Linia 20. this kropka addClass otwórz nawias okrągły input przecinek classSuccess zamknij nawias okrągły średnik. Linia 21. validCount plus znak równości 1 średnik. Linia 22. zamknij nawias klamrowy. Linia 23. zamknij nawias klamrowy. Linia 24. zamknij nawias klamrowy.
  1. Podanie informacji, które mają się wyświetlić w przypadku błędnego wypełnienia lub niewypełnienia przez użytkownika.

Linia 1. errorMessage dwukropek function otwórz nawias okrągły input zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. var message średnik. Linia 3. prawy ukośnik prawy ukośnik IF USERNAME HAS ERROR. Linia 4. if otwórz nawias okrągły input znak równości znak równości znak równości this kropka fields kropka userName zamknij nawias okrągły otwórz nawias klamrowy. Linia 5. message znak równości cudzysłów Proszę podaj swoje imię cudzysłów średnik. Linia 6. prawy ukośnik prawy ukośnik ELSE IF USEREMAIL HAS ERROR. Linia 7. zamknij nawias klamrowy else if otwórz nawias okrągły input znak równości znak równości znak równości this kropka fields kropka userEmail zamknij nawias okrągły otwórz nawias klamrowy. Linia 8. message znak równości cudzysłów Proszę podaj swój email cudzysłów średnik. Linia 9. prawy ukośnik prawy ukośnik ELSE IF USERMESSAGE HAS ERROR. Linia 10. zamknij nawias klamrowy else if otwórz nawias okrągły input znak równości znak równości znak równości this kropka fields kropka userMessage zamknij nawias okrągły otwórz nawias klamrowy. Linia 11. message znak równości cudzysłów Proszę napisz wiadomość cudzysłów średnik. Linia 12. zamknij nawias klamrowy. Linia 13. this kropka renderError otwórz nawias okrągły input przecinek message zamknij nawias okrągły średnik. Linia 14. zamknij nawias klamrowy przecinek.
  1. Wyrenderowanie informacji na stronie w odpowiednich miejscach.

Linia 1. renderError dwukropek function otwórz nawias okrągły input przecinek message zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. var html średnik. Linia 3. prawy ukośnik prawy ukośnik GET INPUT CONTAINER. Linia 4. container znak równości input kropka parentElement średnik. Linia 5. prawy ukośnik prawy ukośnik RENDER HTML. Linia 6. html znak równości document kropka createElement otwórz nawias okrągły cudzysłów div cudzysłów zamknij nawias okrągły średnik. Linia 7. html kropka setAttribute otwórz nawias okrągły cudzysłów class cudzysłów przecinek cudzysłów message cudzysłów zamknij nawias okrągły średnik. Linia 8. html kropka innerHTML znak równości message średnik. Linia 9. prawy ukośnik prawy ukośnik IF MESSAGE ELEMENT DOESN apostrof T EXIST. Linia 10. if otwórz nawias okrągły wykrzyknik container kropka getElementsByClassName otwórz nawias okrągły cudzysłów message cudzysłów zamknij nawias okrągły otwórz nawias kwadratowy 0 zamknij nawias kwadratowy zamknij nawias okrągły otwórz nawias klamrowy. Linia 11. prawy ukośnik prawy ukośnik INSERT MESSAGE TO INPUT CONTAINER. Linia 12. container kropka insertBefore otwórz nawias okrągły html przecinek container kropka firstElementChild zamknij nawias okrągły średnik. Linia 13. zamknij nawias klamrowy. Linia 14. zamknij nawias klamrowy przecinek.
  1. Wyświetlenie informacji o niepoprawnym wypełnieniu formularza jest związane również z dodaniem klasy, która spowoduje, że komunikat ten będzie wyraźnie widoczny dla użytkownika. Dodatkowo w momencie uzupełnienia informacji klasa ta jest usuwana.

Linia 1. prawy ukośnik prawy ukośnik CSS CLASSES. Linia 2. classSuccess znak równości cudzysłów success cudzysłów przecinek. Linia 3. classError znak równości cudzysłów error cudzysłów przecinek.
Linia 1. addClass dwukropek function otwórz nawias okrągły input przecinek clss zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. container znak równości input kropka parentElement średnik. Linia 3. prawy ukośnik prawy ukośnik IF INPUT HAS ERROR. Linia 4. if otwórz nawias okrągły clss znak równości znak równości znak równości classError zamknij nawias okrągły otwórz nawias klamrowy. Linia 5. prawy ukośnik prawy ukośnik SHOW ERROR MESSAGE. Linia 6. this kropka errorMessage otwórz nawias okrągły input zamknij nawias okrągły średnik. Linia 7. zamknij nawias klamrowy. Linia 8. prawy ukośnik prawy ukośnik ADD CLASS. Linia 9. input kropka parentElement kropka classList kropka add otwórz nawias okrągły clss zamknij nawias okrągły średnik. Linia 10. zamknij nawias klamrowy przecinek.
Linia 1. resetClassList dwukropek function otwórz nawias okrągły input zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. var i średnik. Linia 3. prawy ukośnik prawy ukośnik IF TARGETING SPECIFIC INPUT. Linia 4. if otwórz nawias okrągły input zamknij nawias okrągły otwórz nawias klamrowy. Linia 5. prawy ukośnik prawy ukośnik GET INPUT CONTAINER. Linia 6. container znak równości input kropka parentElement średnik. Linia 7. prawy ukośnik prawy ukośnik REMOVE CLASSES. Linia 8. container kropka classList kropka remove otwórz nawias okrągły classError przecinek classSuccess zamknij nawias okrągły średnik. Linia 9. prawy ukośnik prawy ukośnik FOCUS ON INPUT FIELD. Linia 10. input kropka focus otwórz nawias okrągły zamknij nawias okrągły średnik. Linia 11. zamknij nawias klamrowy else otwórz nawias klamrowy. Linia 12. for otwórz nawias okrągły i in this kropka fields zamknij nawias okrągły otwórz nawias klamrowy. Linia 13. if otwórz nawias okrągły this kropka fields kropka hasOwnProperty otwórz nawias okrągły i zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 14. prawy ukośnik prawy ukośnik REMOVE CLASSES FROM ALL FIELDS. Linia 15. this kropka fields otwórz nawias kwadratowy i zamknij nawias kwadratowy kropka parentElement kropka classList kropka remove otwórz nawias okrągły classError przecinek classSuccess zamknij nawias okrągły średnik. Linia 16. zamknij nawias klamrowy. Linia 17. zamknij nawias klamrowy. Linia 18. zamknij nawias klamrowy. Linia 19. zamknij nawias klamrowy przecinek. Linia 20. resetErrors dwukropek function otwórz nawias okrągły input zamknij nawias okrągły otwórz nawias klamrowy. Linia 21. prawy ukośnik prawy ukośnik GET INPUT CONTAINER. Linia 22. container znak równości input kropka parentElement średnik. Linia 23. prawy ukośnik prawy ukośnik IF CONTAINER CONTAINS ERROR. Linia 24. if otwórz nawias okrągły container kropka classList kropka contains otwórz nawias okrągły classError zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 25. prawy ukośnik prawy ukośnik RESET CLASSES. Linia 26. this kropka resetClassList otwórz nawias okrągły input zamknij nawias okrągły średnik. Linia 27. zamknij nawias klamrowy. Linia 28. zamknij nawias klamrowy przecinek.
  1. W przypadku poprawnego wypełnienia formularza przekazana jest użytkownikowi informacja o sukcesie. W tym przypadku początkowo pojawia się informacja „Wysłano wiadomość”, która później zmienia się na „Dziękuję”. Jest to możliwe dzięki zastosowaniu metody setTimeout(), która wywołuje funkcję po określonym czasie. Czas podajemy w milisekundach.

Linia 1. submitForm dwukropek function otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. var waitForAnimation średnik. Linia 3. prawy ukośnik prawy ukośnik ADD SUCCESS CLASS. Linia 4. this kropka contactForm kropka classList kropka add otwórz nawias okrągły classSuccess zamknij nawias okrągły średnik. Linia 5. prawy ukośnik prawy ukośnik WAIT FOR ANIMATION TO FINISH. Linia 6. this kropka changeHeader otwórz nawias okrągły cudzysłów Wysłano wiadomość cudzysłów zamknij nawias okrągły średnik. Linia 7. prawy ukośnik prawy ukośnik WAIT FOR ANIMATION TO FINISH. Linia 8. setTimeout otwórz nawias okrągły this kropka changeHeader kropka bin otwórz nawias okrągły this przecinek cudzysłów Dziękuję cudzysłów zamknij nawias okrągły przecinek 1200 zamknij nawias okrągły średnik. Linia 9. zamknij nawias klamrowy przecinek. Linia 10. changeHeader dwukropek function otwórz nawias okrągły text zamknij nawias okrągły otwórz nawias klamrowy. Linia 11. prawy ukośnik prawy ukośnik CHANGE HEADER TEXT. Linia 12. this kropka formHeader kropka innerHTML znak równości text średnik. Linia 13. zamknij nawias klamrowy.
  1. Ostatnim krokiem jest zainstalowanie walidacji.

Linia 1. prawy ukośnik prawy ukośnik INITIATE FORM VALIDATOR. Linia 2. formValidator kropka init otwórz nawias okrągły zamknij nawias okrągły średnik.

Słownik

adres URL
adres URL

usługa pozwalająca na publikowanie treści (stron, witryn, serwisów) w sieci internetowej

certyfikat SSL
certyfikat SSL

szyfrowanie, które zabezpiecza dane pozostawiane na stronie WWW, np. w formularzach kontaktowych, podczas logowania; certyfikat ten podnosi pozycję strony w wyszukiwarkach oraz zwiększa jej wiarygodność

CMS
CMS

oprogramowanie do zarządzania treścią strony (ang.  Content Management System)

dokument HTML
dokument HTML

dokument (strona WWW) czytany przez przeglądarki internetowe, widoczny pod konkretnym adresem URL; zawiera tekst, odnośniki (linki), informacje o multimediach i zdjęciach

domena
domena

adres strony internetowej, np. www.zlompol.pl

 home page (strona główna)
 home page (strona główna)

strona, na którą kieruje domyślnie adres witryny internetowej

hosting
hosting

przestrzeń na zdalnym serwerze, w której przechowywana jest zawartość strony

kreator stron WWW
kreator stron WWW

narzędzie to tworzenia stron internetowych; zawiera gotowe szablony

link
link

zwany także odnośnikiem, jest aktywnym fragmentem tekstu albo obrazkiem; pozwala przejść na inny adres URL albo wykonać inną czynność, np. przesłać zapytanie przez formularz kontaktowy

post
post

wpis na stronie

responsywność
responsywność

automatyczne dostosowanie rozmiaru strony do urządzeń, na których będzie wyświetlana; responsywna strona to taka, która poprawnie wyświetla się na wszystkich monitorach i wyświetlaczach

serwer internetowy
serwer internetowy

urządzenia do obsługi technicznej stron WWW (przechowywanie plików strony WWW, poczty, multimediów itp.)

 single page (podstrona lub pojedyncza strona)
 single page (podstrona lub pojedyncza strona)

unikalna strona internetowa, stanowiąca odrębny dokument zawierający treść

strona internetowa
strona internetowa

zbiór dokumentów HTML; połączone są ze sobą linkami URL (odnośnikami); dokumenty te znajdują się w obrębie jednej domeny internetowej (serwisu internetowego albo witryny internetowej)

witryna internetowa/serwis internetowy
witryna internetowa/serwis internetowy

zbiór połączonych ze sobą pojedynczych stron internetowych