Element input

11 sierpnia 2012
1 gwiadka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek

Element input reprezentuje na stronie internetowej pola danych różnego typu, które najczęściej mają postać kontrolek i służą do wprowadzania oraz edytowania informacji przez użytkownika.

Kontekst użycia

Modele treści HTML5treść ogólna, syntagmatyczna, interaktywna (nie w stanie hidden) i formularzowa
Elementy nadrzędneElementy syntagmatyczne
Elementy potomneBrak, ponieważ jest to element pusty
ZnacznikiElement pusty, a więc nie może mieć znacznika zamykającego
NormyHTML 5 — podrozdział 4.10.7; HTML 4.01 — podrozdział 17.4
Interfejs DOMHTMLInputElement
Różnice między HTML 4.01 a HTML5W HTML 5 atrybut type ma nowe wartości: tel, search, url, email, datetime, date, month, week, time, datetime-local, number, range oraz colorW HTML5 dodano nowe atrybuty: autofocus, placeholder, form, required, autocomplete, min, max, multiple, pattern, step, list, width i height (dla type=image), dirname, formaction, formenctype, formmethod, formnovalidate, formtargetW HTML5 atrybutowi accept można przypisywać wartości audio/*, video/* oraz image/*W HTML5 usunięto atrybut align

Przykłady użycia

Formularz zawierający różne rodzaje kontrolek
<form action="procesor_formularza.php" method="get">
  <label>Google: <input type="search" name="szukaj"></label> <input type="submit" value="Szukaj...">
  <label>Nazwisko: <input type="text" name="nazwisko"></label>
  <label>Krowa: <input type="radio" name="krowa"></label>
</form>

Obsługa przez przeglądarki

FirefoxChromeOperaSafariInternet Explorer

Atrybuty obowiązkowe

Element input ogólnie rzecz biorąc nie ma atrybutów obowiązkowych, ale niektórym atrybutom muszą towarzyszyć inne atrybuty. Szczegółowe informacje znajdują się poniżej.

Atrybuty opcjonalne

Atrybuty globalne HTML5 oraz:

AtrybutOpis
acceptJeśli atrybut type ma wartość file, atrybut accept sugeruje przeglądarce, jakiego typu pliki będą akceptowane przez serwer. W przeciwnym razie jest ignorowany. Wartością tego atrybutu musi być rozdzielana przecinkami lista określników typu:
  • Typ MIME bez rozszerzeń
  • audio/* reprezentujący pliki dźwiękowe HTML 5
  • video/* reprezentujący pliki wideo HTML 5
  • image/* reprezentujący pliki graficzne HTML 5
altOkreśla alternatywny tekst wyświetlany, gdy nie zostanie wczytany obraz graficzny (dotyczy tylko type="image")
autocompleteSłuży do włączania i wyłaączania funkcji automatycznego uzupełniania elementu formularza
autofocusAtrybut logiczny powodujący, że mający go element jest automatycznie aktywowany po załadowaniu strony przez przeglądarkę
checkedAtrybut logiczny oznaczający, że element po wczytaniu strony przez przeglądarkę powinien być domyślnie zaznaczony (dotyczy tylko type="checkbox" i type="radio")
dirnameUmożliwia przesyłanie wraz z formularzem informacji o kierunku tekstu w elemencie. Atrybut ten, jeśli zostanie użyty, nie może mieć jako wartości pustego łańcucha
disabledAtrybut logiczny oznaczający, że element jest wyłączony
formSłuży do określania listy formularzy, z którymi związany jest element input
formactionOkreśla miejsce wysłania danych z formualrza (dotyczy tylko type="submit" i type="image")
formenctypeOkreśla kodowanie danych wysyłanych z formularza na serwer
formmethodOkreśla metodą wysyłania danych formularza na serwer
formnovalidateWyłącza sprawdzanie poprawności danych formularza przed wysłaniem ich na serwer
formtargetOkreśla miejsce wyświetlenia odpowiedzi serwera po wysłaniu do niego formularza
heightOkreśla wysokość w pikselach obrazu graficznego elementów z atrybutem type="image"
listOkreśla element zawierający listę opcji sugerowanych użytkownikowi do wyboru. Jego wartością musi być identyfikator elementu datalist znajdującego się w tym samym dokumencie, co element input
maxOkreśla maksymalną wartość elementu. Wartość tego atrybutu nie może być mniejsza od wartości atrybutu min
maxlengthOkreśla maksymalną liczbę znaków, jaką użytkownik może wpisać w elemencie
minOkreśla minimalną wartość elementu. Wartość tego atrybutu nie może być większa od wartości atrybutu min
multipleAtrybut logiczny oznaczający, że użytkownik może podać więcej niż jedną wartość
nameOkreśla nazwę elementu. Wartość tego atrybutu nie może być pustym łańcuchem
patternOkreśla wyrażenie regularne wg którego ma być sprawdzana zawartość elementu
placeholderTekst wyświetlany w polu tekstowym formularza i który znika, gdy użytkownik w tym polu kliknie
readonlyOznacza, że zawartość elementu można odczytać, ale nie da się jej zmienić
requiredOznacza, że wypełnienie elementu formularza jest obowiązkowe
sizeOkreśla liczbę znaków, które są widoczne podczas wprowadzania wartości do elementu
srcOkreśla adrtes URL obrazu graficznego przycisku zatwierdzania (dotyczy tylko type="image")
stepOkreśla skok wartości elementu
typeOkreśla typ kontrolki formularza. Atrybut ten ma następujące wartości (szczegółowy opis znajduje się na dole strony): button, checkbox, color, date, datetime, datetime-local, email, file, hidden, image, month, number, password, radio, range, reset, search, submit, tel, text, time, url oraz week
valueOkreśla wartość elementu
widthOkreśla szerokość w pikselach obrazu graficznego elementów z atrybutem type="image"

Typy pola input

type=button

Typ button służy do tworzenia przycisków ogólnego przeznaczenia, których działanie należy zdefiniować np. za pomocą JavaScriptu.

Przykład
<input type="button" value="Tekst na przycisku" />

Efekt powyższego kodu:

type=checkbox

Typ checkbox służy do tworzenia pól wyboru. Pola można grupować za pomocą atrybutu name. Do serwera wysyłane są pary nazwa=wartość dla zaznaczonych pól.

Przykład:
<label>Zielony <input type="checkbox" name="kolor" value="zielony" /></label><br />
<label>Czerwony <input type="checkbox" name="kolor" value="czerwony" /></label><br />
<label>Niebieski <input type="checkbox" name="kolor" value="niebieski" /></label>

Efekt powyższego kodu:

Jeśli wszystkie pola zostaną zaznaczone, serwer otrzyma następujący łańcuch wartości: kolor=zielony&kolor=czerwony&kolor=niebieski

Jeśli pole nie ma zdefiniowanego atrybutu value, a zostanie zaznaczone, do serwera zostanie wysłana wartość on.

type=color

Typ color służy do tworzenia kontrolki wyboru koloru.

Przykład:
<label>Wybierz kolor: <input type="color" name="kolor" /></label><br />

Efekt powyższego kodu aktualnie można obejrzeć tylko w przeglądarce Opera. Poniżej znajduje się zrzut ekranu z Opery 12.0

Zrzut ekranu kontrolki wyboru koloru w Operze

Kolor wybrany za pomocą tej kontrolki jest w formacie sRGB z 8-bitową głębię kanałów czerwonego, zielonego i niebieskiego.

type=date

Typ date służy do tworzenia kontrolki wyboru daty.

Przykład:
<label>Wybierz datę: <input type="date" name="kolor" /></label><br />

Efekt powyższego kodu aktualnie można obejrzeć tylko w przeglądarkach Chrome i Opera. Poniżej znajduje się zrzut ekranu z Opery 12.0

Zrzut ekranu kontrolki wyboru koloru w Operze

type=datetime

Typ datetime służy do tworzenia kontrolki wyboru daty i godziny w strefie czasowej UTC.

Przykład:
<label>Wybierz datę i godzinę: <input type="datetime" name="data" /></label><br />

Efekt powyższego kodu aktualnie można obejrzeć tylko w przeglądarce Opera. Poniżej znajduje się zrzut ekranu z Opery 12.0

Zrzut ekranu kontrolki wyboru koloru w Operze

type=datetime-local

Typ datetime-local służy do tworzenia kontrolki wyboru daty i godziny bez określenia strefy czasowej.

Przykład:
<label>Wybierz datę i godzinę: <input type="datetime-local" name="data" /></label><br />

type=email

Typ email służy do tworzenia pola tekstowego na adres e-mail lub listę adresów e-mail.

Przykład:
<label>Adres e-mail: <input type="email" name="email" /></label><br />

type=file

Typ file służy do tworzenia pola wyboru pliku. Kliknięcie tego pola powoduje otwarcie standardowego systemowego okna wyboru pliku.

Przykład:
<label>Prześlij plik: <input type="file" name="plik" /></label><br />

type=hidden

Typ hidden służy do tworzenia kontrolki, która jest niewidoczna na stronie, ale któej wartość jest wysyłana na serwer wraz z resztą formularza.

Przykład:
<label>Nie widać mnie: <input type="hidden" name="plik" value="ukryta_wartosc" /></label><br />

type=image

Typ image służy do tworzenia graficznego przycisku do zatwierdzania formularza. Atrybutowi temu musi towarzyszyć atrybut src określający adres URL obrazu graficznego i atrybut alt zawierający tekst alternatywny. Dodatkowo za pomocą atrybutów width i height można określić wysokość i szerokość obrazu w pikselach.

Przykład:
<label>Przycisk graficzny: <input type="image" src="/przycisk.png?x50130" alt="Przycisk" /></label><br />

type=month

Typ month służy do tworzenia kontrolki wyboru daty składającej się z roku i miesiąca bez określenia strefy czasowej.

Przykład:
<label>Data: <input type="month" /></label><br />

type=number

Typ number służy do tworzenia kontrolki na liczbę zmiennoprzecinkową. Atrybutowi temu mogą towarzyszyć dodatkowo atrybuty min, max i step. Atrybut min określa najmniejszą dopuszczalną wartość, max — największą, a step — skok wartości, tzn. jeśli min zostanie ustawiony na 10, a step na 5, to najmniejszą dopuszczalną wartością będzie 10, kolejną 15 itd.

W poniższym elemencie można wpisać tylko następujące wartości: 10, 20, 30, 40, 50, 60, 70, 80, 90 oraz 100.
<label>Wpisz liczbę: <input type="number" min="10" max="100" step="10" /></label><br />

type=password

Typ password służy do tworzenia pola tekstowego na hasło. Tekst wpisywany w tym polu jest zamaskowany. W polach tego typu należy stosować dodatkowo atrybut maxlength do określenia maksymalnej długości tekstu.

Pole na hasło
<label>Podaj hasło: <input type="password" maxlength="20" /></label>

type=radio

Typ radio służy do tworzenia tzw. przycisków radiowych. Pola tego typu muszą mieć dodatkowo zdefiniowany atrybut value zawierający wartość, która zostanie wysłana do serwera po zatwierdzeniu formularza. Jeśli kilku elementom typu radio przypisze się atrybut name o tej samej wartości, będą one należały do jednej grupy. Tylko jeden element z grupy może być zaznaczony w danym czasie.

Pole na hasło
<label>Biały: <input type="radio" value="bialy" name="kolory" /></label><br />
<label>Czarny: <input type="radio" value="czarny" name="kolory" /></label>

type=range

Typ range służy do tworzenia kontrolki wyboru wartości liczbowej, przy czym dokładna wartość nie jest wymagana. Kontrolka ta ma następujące wartości domyślne dla atrybutów min, max, value i step:

  • min: 0
  • max: 100
  • value: min + (max-min)/2 lub min, jeśli max < min
  • step: 1
Pole zakresu liczbowego
<label>Wybierz wartość: <input type="range" /></label>

type=reset

Typ reset służy do tworzenia przycisku przywracającego domyślne ustawienia wartości w polach formularza.

Pole zakresu liczbowego
<label>Wybierz wartość: <input type="reset" /></label>

Typ search służy do tworzenia jednowierszowych pól tekstowych wyszukiwania. Znaki nowego wiersza są automatycznie usuwane.

Pole wyszukiwania
<label>Szukaj: <input type="search" /></label>

type=submit

Typ submit służy do tworzenia przycisków zatwierdzania formularza.

Przycisk zatwierdzania formularza
<input type="submit" value="Zatwierdź" />

type=tel

Typ tel służy do tworzenia pól tekstowych na numer telefonu. Złamania wiersza są usuwane, ale poprawność wprowadzonej wartości nie jest w żaden sposób sprawdzana. Można zdefiniować reguły sprawdzające za pomocą atrybutów pattern i maxlength.

Pole na numer telefonu
<input type="tel" />

type=text

Typ text służy do tworzenia ogólnych pól tekstowych. Złamania wiersza są usuwane.

Pole tekstowe formularza
<input type="text" />

type=time

Typ time służy do tworzenia kontrolek wyboru godziny bez określenia strefy czasowej.

Pole na godzinę
<input type="time" />

type=url

Typ url służy do tworzenia pól tekstowych do wpisywania adresów URL. Złamania wiersza są usuwane, ale poprawność wprowadzonej wartości nie jest w żaden sposób sprawdzana. Można zdefiniować reguły sprawdzające adres za pomocą atrybutów pattern i maxlength.

Pole na adres URL
<input type="url" />

type=week

Typ week służy do tworzenia kontrolek wyboru numeru tygodnia roku bez określenia strefy czasowej.

Pole tygodnia roku
<input type="week" />

Dyskusja

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *