Szczypta magii, czyli jak utworzyć responsywny formularz w 10 sekund

Szczypta magii, czyli jak utworzyć responsywny formularz w 10 sekund

Jak za pomocą kilku linii kodu utworzyć responsywny formularz. Dowiedz się jakie są podstawowe elementy formularzy Bootstrap, jak je stosować oraz co możesz zrobić, aby przyspieszyć sobie pracę przy ich tworzeniu.

1. Formularze Bootstrap

Jednym z najczęściej używanych elementów na stronach internetowych są formularze, szczególnie w zakładce kontakt. Bootstrap udostępnia kilka klas, które ułatwiają tworzenie responsywnych formularzy. Z artykułu dowiesz się jakie są podstawowe elementy formularzy, jak je zastosować oraz jak przyspieszyć sobie pracę wykorzystując generatory formularzy. Jeżeli nigdy wcześniej nie zetknąłeś się z Bootstrapem to zachęcam do przeczytania Responsywne witryny, czyli szczypta zmian w Bootstrap 4, z którego dowiesz się czym jest Bootstrap i jakich zmian można oczekiwać w czwarteh wersji.

2. Kontrolki formularzy

Kontrolki to inaczej pola, które służą do wprowadzania określonych danych. Aby utworzyć formularz do dyspozycji masz takie kontrolki jak.:

  • pola tekstowe (input, textarea)
  • przyciski wyboru (checkbox, checkbox-inline)
  • wykluczające się przyciski wyboru (radio, radio-inline)
  • listy wyboru (select)

Jeżeli do pola tekstowego <input> dopiszesz required to pole będzie wymagane. Jako type możesz dopisać password lub file dzięki czemu otrzymasz zagwiazdkowane pole do wpisywania hasła lub przycisk z okienkiem systemowym umożliwiającym wybór pliku.
Kontrolka może znaleźć się również w określonym stanie, przykładowo aby wyłączyć pole wystarczy dopisać disabled, natomiast jeżeli chcesz uniemożliwić zmianę wartości w polu tekstowym wystarczy, że dopiszesz readonly.

See the Pen form controls by Tomasz Wikło (@studioleopard) on CodePen.19725

3. Układy formularzy

Bootstrap udostępnia trzy rodzaje formularzy.

Pionowy (domyślny).

Podczas tworzenia formularza powinieneś trzymać się kilku zasad

  • Zawsze używaj <form role=”form”> (poprawa dostępności dla ludzi używających czytników ekranowych)
  • Etykiety oraz kontrolki otaczaj <div class=”form-group”> (potrzebne do optymalnego rozmieszczenia elementów)
  • Dodaj klasę .form-control do wszystkich tekstowych pól: <input>, <textarea>, <select>. Wszystkie elementy z klasą .form-control domyślnie będą się rozciągały na 100% szerokości.

See the Pen form default bootstrap by Tomasz Wikło (@studioleopard) on CodePen.19725

Poziomy

Aby utworzyć poziomy formularz, trzeba zastosować dodatkowe klasy 

  • .form-horizontal do elementu <form>
  • .control-label do wszystkich elementów <label>

Zastosowanie klasy .form-horizontal spowoduje, że elementy pogrupowane w klasę .form-group będą układać się w wierszach, bez potrzeby stosowania klasy .row.

See the Pen form horizontal bootstrap by Tomasz Wikło (@studioleopard) on CodePen.19725

Liniowy

W formularzu liniowym elementy ułożone są obok siebie w jednej „linii”. Wszystkie Wszystkie elementy zachowują się tak, jakby były inline-block z elementami wyrównywanymi do lewej strony. Dotyczy to tylko i wyłącznie formularzy, które mają przynajmniej 768px szerokości. Aby utworzyć formularz liniowy wystarczy, że dodasz klasę .form-inline do elementu <form>

See the Pen form inline bootstrap by Tomasz Wikło (@studioleopard) on CodePen.19725

Wspieraj technologie wspomagające, zawsze używaj etykiet

Technologie wspomagające, takie jak czytniki ekranów mogą mieć problemy, jeśli nie umieścisz etykiety <label> dla każdego używanego pola tekstowego <input>. Jeżeli nie chcesz aby etykieta była wyświetlana na ekranie, dodaj klasę .sr-only.

4. Przykładowy formularz Bootstrap w akcji

See the Pen bootstrap forms by Tomasz Wikło (@studioleopard) on CodePen.19725

Jak widać, jest to całkiem proste. Wystarczy znajomość kilku klas aby stworzyć rozbudowany formularz. Klasa col-md-offset-3 przesuwa kolumny na prawo, zwiększając lewy margines o 3 kolumny. Bootstrapowy GRID składa się z 12 kolumn na wiersz, wszystko co wystąpi za 12 kolumną zostanie przeniesione do nowego wiersza. Za pomocą col-md-6 ustawiłem ile kolumn ma zajmować formularz. W kodzie wyżej zastosowałem help-block aby wprowadzić opis do kontrolki z emailem oraz hasłem. Dzięki zastosowaniu type=”file” otrzymałem przycisk, po którym otworzony się systemowe okienko z możliwością wyboru pliku. Na samym końcu utworzyłem przycisk za pomocą klas btn i btn-info.

Zachęcam do przejrzenia dostępnych klas formularzy w oficjalnej dokumentacji Bootstrapa. Powyższy formularz jest bardzo uproszony. Aby nie komplikować przykładu pominąłem kilka szczegółów, o których powinieneś wiedzieć. Znacznik form najczęściej zawiera atrybut action, np. action=”skrypt.php”. Atrybut ten przenosi nas do pliku skrypt.php i wykonuje zawarte w nim instrukcje po wciśnięciu przycisku z type=”submit”.

5. Formularz w 10 sekund

Po poznaniu podstawowych elementów wchodzących w skład Bootstrapowego formularza warto znacznie przyspieszyć sobie pracę. Na stronie bootsnipp.com/forms możesz wygenerować własny formularz na zasadzie przeciągnij i upuść w dosłownie parę sekund. Po utworzeniu w zakładce „View HTML” będziesz mógł podejrzeć i skopiować automatycznie wygenerowany kod z formularzem Bootstrap.

Czy Ty również wykorzystujesz Bootstrapa do tworzenia responsywnych formularzy? Podziel się swoim doświadczeniem w komentarzu.

Kamil Laskowski

Sympatyk systemów otwartoźródłowych. Człowiek z zapałem, doskonale wiedzący, czego chce od życia. W wolnych chwilach uwielbia tańczyć oraz grać na gitarze.