Przykładowe pola formularza [HTML]

Czas czytania: 4 minut

Jeszcze kilka lat temu by dany formularz posiadał jakąś funkcjonalność musieliśmy często dodać ją np. poprzez walidację w JS.

Dziś jednak wygląda to trochę inaczej. W HTML5 posiadamy bowiem dużo większy wybór typów pól. Umożliwia nam to budowanie na stronie, sklepie czy blogu naprawdę ciekawych formularzy kontaktowych, zamówień, generatorów, testów ale nie tylko.

See the Pen
form
by Aura (@Julka85)
on CodePen.0

Z jakich elementów składa się formularz?

Formularz zwykle składa się z wielu różnych elementów (w zależności od naszych potrzeb) przeważnie jednak zawsze pojawia się<form></form> jest to element nadrzędny dla większości formularzy. To właśnie pomiędzy otwarciem a zamknięciem tego obiektu umieszczamy pola formularza.

<form action="">Pola formularza</form>

W zależności od tego co dany formularz będzie robił będziemy do <form> dodawać różne właściwości. Przykładowo będą to: action, method, enctype.

UWAGA: Wygląd przycisków na stronie jest uzależniony od kodu CSS twojej witryny. Dlatego mogą one inaczej wyglądać na twojej stronie.

Metody wysyłania formularza

Do wysyłki formularza stosuje się 2 metody GET i POST. To na, która metodę się zdecydujemy jest bardzo istotne w przypadku odbierania zawartości formularza.

<form action="" method="Post">
Zawartość formularza
</form>

HTML sam w sobie nie potrafi wysłać formularza ani też przekazać zawartości wprowadzonych pól dlatego aby w pełni kożystać z formularzy będziemy potrzebowali co najmniej jeszcze jednego języka. Najczęściej jest to PHP i/lub JS.

Identyfikatorem konkretnego pola w tym przypadku jest NAME – czyli jego „imię”. Dlatego musi ono być w formularzu unikalne by jego zawartość nie została nadpisana przez inny obiekt. W zależności od tego na jaką metodę się zdecydowaliśmy w PHP „odbiór” uzyskanie wartości będzie wyglądał analogicznie:

$_POST['nazwa_pola'] lub $_GET['nazwa_pola']

Rodzaje pól formularza

Formularze posiadają wiele różnych rodzajów pól takich jak:

  • tekstowe
  • wyboru (pojedynczego lub mnogiego)
  • obszar tekstowy (przeznaczony na dłuższy tekst)
  • lista wyboru (istnieje ich kilka rodzajów)
  • hasło
  • wysyłanie plików na stronę
  • czyszczenie zawartości (reset)
  • szukanie
  • przyciski
  • etykiety

Etykiety pól formularza

Jak sama nazwa mówi są to pola opisujące konkretne pole formularza. Zazwyczaj w nich więc umieszczamy informację o tym co osoba wypełniająca pole powinna w nim umieścić. Przy prostych formularzach może to wyglądać następująco:

<label>Imię</label>

Pola tekstowe

Pola tekstowe przewidziane są na krótkie treści takie jak: imię, nazwisko czy adres zamieszkania. Dłuższe teksty umieszczamy w polach tekstowych.

<input type="text" name="imie"/>

Po dodaniu etykiety oraz umieszczeniu w formularzu może to wyglądać tak:

<form action="">
<label>Imię</label> <input type="text" name="imie"/>
</form>

Wielkością pola można manipulować korzystając z CSS lub np. dodając size (określa szerokość pola):

<input type="text" name="imie" size="40" maxlength="20" />

Z kolei atrybut maxlength ma za zadanie określenie maksymalnej liczby znaków dozwolonej w elemencie <input>. Oznacza to, że możemy wprowadzić jedynie tyle znaków na ile on nam pozwala w tym wypadku 20.

Pola wyboru

W praktyce posiadamy dwa typy pól wyboru a mianowicie pola pojedynczego wyboru lub mnogiego.

Do pojedynczego wyboru zwykle używa się pól typu:

<input type="radio" name="radio" value="wartość">
1 2

Jak widać jednocześnie można mieć zaznaczoną tylko jedną opcje. Kliknięcie z kolejną automatycznie odznacza poprzednią.


Do wielkokrotnego wyboru służy:

<input type="checkbox" name="checkbox" value="wartość"> 
1 2

W tym przypadku można mieć jednocześnie zaznaczone 2 lub więcej opcji.

Obszar tekstowy

Obszar tekstowy jak sama nazwa mówi jest polem, w którym możemy umieścić większą ilość tekstu. Pole tego typu dodajemy z pomocą:

<textarea name="text"></textarea>

W HTML wielkością tego pola można manipulować z pomocą:

  • rows – odpowiada za ilość linii tekstu (w praktyce za wysokość)
  • cols – odpowiada za szerokość pola

Pola wyboru

W praktyce chodzi o rozwijane listy wyboru <select>

<select name="wybierz" id="wybierz">
   <option value="opcja1">opcja 1</option>
   <option value="opcja2">opcja 2</option>
   <option value="opcja3">opcja 3</option>
   <option value="opcja4">opcja 4</option>
</select>

Jak widać mamy tu listę rozwijaną posiadającą kilka różnych opcji widocznych dopiero po kliknięciu w nią. Teraz podzielimy tę listę tak jak by na części. Pomoże nam w tym <optgroup>. Z jego pomocą na liście pojawią się sekcje. Opcja ta jest dość użyteczna kiedy mamy długie listy np. województwo jako sekcja a miasto jako opcją.

<select name="wybierz" id="wybierz">
 <optgroup label="Opcje wyboru">
   <option value="opcja1">opcja 1</option>
   <option value="opcja2">opcja 2</option>
   <option value="opcja3">opcja 3</option>
 </optgroup>
<optgroup label="Opcje wyboru kolejne">
   <option value="opcja4">opcja 4</option>
   <option value="opcja5">opcja 5</option>
</optgroup>
</select>

Wielokrotny wybór

<select name="wybierz" multiple="multiple">
   <option value="opcja1">opcja 1</option>
   <option value="opcja2">opcja 2</option>
   <option value="opcja3">opcja 3</option>
   <option value="opcja4">opcja 4</option>
</select>

Pola Hasło

Kolejnym typem pól jest hasło, dodaje się je w następujący sposób:

<input type="password">

Przyciski

Przykładowe przyciski:

<button></button>
<button>Text</button>

Przyciski na stronie mogą występować w różnych typach np.:

  • submit – to przycisk wysłania formularza
  • reset – przycisk do czyszczenia zawartości formularza
  • button – zwykły przycisk, ustawienie domyślne nie trzeba go dodawać
<button type="submit">submit</button>
<button type="reset">reset</button>
<button type="button">button</button>

Inne ciekawe pola

Poniżej znajdziecie kilka ciekawych typów pól jakich można użyć do budowy różnego typu formularzy.

Email - <input type="email">
Plik - <input type="file">
Ukryte pole - <input type="hidden">
Miesiąc - <input type="month">
Tydzień - <input type="week">
Numer - <input type="number">
Suwak - <input type="range">
Reset - <input type="reset">
Szukanie - <input type="search">
Wysłanie - <input type="submit">
Telefon - <input type="tel">
Czas - <input type="time">
URL - <input type="url">
Email –

Plik –

Ukryte pole –

Miesiąc –

Tydzień –

Numer –

Suwak –

Reset –

Szukanie –

Wysłanie –

Telefon –

Czas –

URL –

Jak widać mamy całkiem spory wybór. Jedyne, ale w tym jakie pole należy wybrać by osiągnąć pożądany efekt.

Atrybuty stosowane dla input

atrybutwartośćdziałanie
checkedcheckedatrybut używany dla type=”checkbox” or type=”radio”
jego zadaniem jest zaznaczenie obiektu który go posiada
disableddisabledatrybut blokuje możliwość zaznaczenia lub wypełnienia pola
value„treść”dla tego pola dodajemy wartość pola
acceptfile_extension
audio/*
video/*
image/*
media_type
atrybut dla type=”file”, określa on typ akceptowanych plików
requiredrequiredpole jest obowiązkowe
placeholder„treść”domyślny, przykładowy tekst w polu

Zmiana wyglądu

Jak wszystkie elementy HTML tak i pola formularza podatne są na działania z pomocą CSS oraz JS. Oczywiście aby móc poprawnie manipulować elementami formularza dobrze jest by posiadały one odpowiednie klasy i id.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*Wyrażam zgodę na przechowywanie i przetwarzanie moich danych na potrzeby umieszczenia mojego komentarza.
*W przypadku gdy treść komentarza narusza prawo Polskie i dobro oraz uczucia innych osób Administrator, zachowuje prawo nie publikowania go