HTML & CSS dla początkujących

HTML & CSS dla początkujących (Część 15): Formularze (3)

Wszystkie filmy z tutorialu HTML & CSS dla początkujących

Choć formularze HTML5 oferują znacznie więcej funkcji niż ich poprzednicy, to nadal są równie łatwe w definiowaniu.

HTML5 wprowadza naprawdę wiele nowych typów pól. Wsparcie przez obecne przeglądarki jest już teraz stosunkowo dobre. W każdym razie w tej sekcji przedstawię tylko takie typy pól, które są praktycznie użyteczne.


Wybierak koloru

Możesz dać swoim odwiedzającym możliwość wyboru koloru.

HTML & CSS dla początkujących (Część 15): Formularze (3)

Gdy kliknie się takie pole, otwiera się standardowy wybierak koloru.

HTML & CSS dla początkujących (część 15): Formularze (3)



Przy jego pomocy można wybrać pożądany kolor. Pole takie definiuje się za pomocą <input type="color" />.

Wybierz swój ulubiony kolor: <input type="color" name="lf" />



Pole to musi zawsze mieć przypisaną wartość. Jeśli jej brakuje lub jest ona nieprawidłowa, automatycznie przyjęte zostanie #000 (czyli czarny).

Data i godzina

W kontekście typów pól do określania daty i godziny HTML5 wprowadza liczne nowości. A te typy pól mają naprawdę sporo do zaoferowania. Pomyśl, na przykład, ile kroków trzeba było wcześniej podjąć, aby zaoferować odwiedzającym możliwość wyboru daty. Zwykle bez użycia JavaScriptu (lub Flasha) byłoby to niemożliwe. Dzięki HTML5 teraz jest to znacznie prostsze. Wystarczy zdefiniować pole wprowadzania danych jako typ date.

<input type="date" />



Wyswietlanie i implementację kalendarza całkowicie kontroluje przeglądarka. Przeglądarka powinna wyświetlić odpowiedni widżet do prezentacji kalendarza. W Google Chrome aplikacja wygląda następująco:

HTML & CSS dla początkujących (Część 15): Formularze (3)

Za pomocą date definiuje się kalendarz, z którego użytkownicy mogą wybrać żądaną datę. Po dokonaniu wyboru data automatycznie zostanie wpisana do pola tekstowego.

Tak samo łatwo można utworzyć pole na godzinę. Do tego celu używa się pola o typie time.

<input type="time" />



Za pomocą time przeglądarki mają wyświetlić elementy sterujące do wyboru godziny.

HTML & CSS dla początkujących (część 15): Formularze (3)



Podobnie prosty w obsłudze jest typ week. Pozwala on wybrać tydzień.

<input type="week" />



Dodatkowo można wyświetlić pole na miesiąc.

<input type="month" />



Obydwa typy pól wyświetlają elementy kontrolne, dzięki którym można wprowadzić żądane informacje.

Podczas gdy typy time i date pozwalają tylko na wybór daty lub tylko na wybór godziny, typy datetime i datetime-local pozwalają na połączenie obydwu opcji.

W przypadku typu datetime są obok siebie wyświetlane pole dla daty i pole do wyboru godziny. (Aktualnie datetime jest obsługiwane tylko przez Safari i Operę).

HTML & CSS dla początkujących (część 15): Formularze (3)

Jak już wspomniano, formularze pól przedstawione w tej sekcji aktualnie nie są obsługiwane przez wszystkie przeglądarki. Osoby, które chcą je mimo to wykorzystać, mogą skorzystać z dedykowanych rozwiązań opartych na JavaScript. Duże frameworki JavaScript, takie jak jQuery i Dojo, oferują odpowiednie skrypty. W przypadku jQuery UI wyglądałoby to tak:

<!DOCTYPE html>
<html>
<head>
  <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
/* <![CDATA[ */
  $(document).ready(function() {
    $("#datepicker").datepicker();
  });
/* ]]> */
  </script>
</head>
<body>
   <input type="text" id="datepicker" />
</body>
</html>

Tak więc jesteście bezpieczni, nawet jeśli przeglądarka nie obsługuje klasycznego date.

HTML & CSS dla początkujących (Część 15): Formularze (3)

Pola na liczby

Za pomocą number oferowane jest pole przeznaczone specjalnie do wprowadzania liczb.

<input type="number" />



Liczby można wprowadzać do tych pól na dwa sposoby:

• za pomocą klawiatury

• za pomocą elementów formularza

Dodatkowe atrybuty pozwalają na jeszcze bardziej szczegółowe opisy pól number. Po pierwsze, są to atrybuty min i max, które określają zakres wartości pól.

min – najmniejsza możliwa wartość

max – największa możliwa wartość

Jednak te dwa atrybuty dotyczą jedynie elementów formularza przeglądarek. Ręczne wpisywanie przez użytkowników za pomocą klawiatury nie jest nimi kontrolowane.

Oba atrybuty mogą być przypisane zarówno liczb całkowitych, jak i zmiennoprzecinkowych.

Atrybut step pozwala zdefiniować interwał, który ma być przestrzegany przez elementy formularza przeglądarek.

<input type="number" min="0" max="8" step="2" />



W tym przypadku za pomocą elementów formularza przeglądarki można wybrać tylko wartości 0, 2, 4, 6 i 8.

Suwak

Pola typu range umożliwiają wybór wartości z określonego zakresu.

HTML & CSS dla początkujących (Część 15): Formularze (3)

Przeglądarki interpretują pole range jako suwak.

<input type="range"  min="0" max="10" step="2" value="6">



Najmniejszą możliwą wartość określa atrybut min. max opisuje największą możliwą wartość. Jeśli brakuje atrybutów min i max, przeglądarki zakładają wartości 0 i 100.

Za pomocą step można zdefiniować interwał krokowy.

Tworzenie pól wyszukiwania

search nie ma początkowo żadnej funkcji. Raczej ten typ pola jest traktowany jako uzupełnienie standardowego pola tekstowego. Celem pól search jest jedynie wizualne odróżnienie ich od zwykłych pól tekstowych. Zazwyczaj przeglądarki zajmują się wyglądem pól search.

<input type="search" />



Sposób implementacji zależy od producentów. Dobrym uzupełnieniem jest dodanie atrybutu results.

<input type="search" results="5" placeholder="Szukaj..." />



Za pomocą atrybutu results określa się, ile poprzednich wyszukiwań będzie wyświetlanych w polu.

Ale uwaga: Atrybut results nie jest częścią specyfikacji HTML5.