Znacznik <form> służy do utworzenia formularza do pobierania danych od osób odwiedzających stronę. Zawartość takiego formularza może być potem wysłana pod wskazany adres URL.

Różnice pomiędzy HTML i XHTML:

W XHTML elementy formularza nie mogą być umieszczone bezpośrednio wewnątrz znacznika <form> – należy użyć dodatkowego znacznika blokowego, np. <div>.

Przykład:

<form action="index.php" method="get">
<div><input type="text" name="imie" /><br />
Nazwisko: <input type="text" name="nazwisko" /><br /><input type="radio" name="plec" value="K" /> Kobieta 
<input type="radio" name="plec" value="M" /><br />
<input type="submit" value="" />
</div>
</form>

Imię: 
Nazwisko: 
Płeć: Kobieta Mężczyzna

DTD w których można korzystać ze znacznika <form>: Strict, Transitional, Frameset.

Atrybuty znacznika <form>

Wartości w kolumnie “Wym.” oznaczają czy atrybut jest wymagany.

Wartości w kolumnie DTD oznaczają w których DTD poszczególne atrybuty mogą być używane: S=Strict, T=Transitional, F=Frameset.

Nazwa Opis Wym. DTD
accept Lista (rozdzielona przecinkami) typów MIME które serwer przetwarzający ten formularz może obsłużyc Nie STF
accept-charset Lista (rozdzielona przecinkami) sposobów kodowania znaków dla wysyłanych danych formularza. Domyślną wartością jest “unknown” (nieznany)” Nie STF
action Adres URL gdzie mają zostać wysłane dane z formularza Nie STF
enctype Typ MIME określający sposób kodowania danych wysyłanych z formularza Tak STF
method Rodzaj żądania HTTP które zostanie użyte do wysłania danych z formularza pod adres wskazywany przez atrybut action.

  • get – dane z pól formularza zostaną dołączone do adresu URL w następującej postaci:
    AdresURL?nazwa=wartosc&nazwa2=wartosc2
  • post – dane z pół formularza zostaną wysłane jako “ciało” żądania do serwera

Domyślną wartością tego atrybutu jest get.

Nie STF
name Definiuje nazwę obiektu, za pomocą której można się do niego odwołać w skryptach Nie TF
target Określa gdzie otworzyć docelowy adres:

  • _blank – w nowym oknie;
  • _self – w tej samej ramce;
  • _parent – w ramce która jest rodzicem bieżącej ramki;
  • _top – w ramce najwyższego poziomu, czyli w całym oknie przeglądarki.
Nie TF
Atrybuty standardowe
class Klasa CSS (lub lista klas) elementu Nie STF
id Unikalny identyfikator elementu Nie STF
style Styl elementu (inline) Nie STF
title Tekst do wyświetlenia jako Tooltip po najechaniu myszką Nie STF
Atrybuty językowe
dir Kierunek tekstu Nie STF
lang Kod języka Nie STF
xml:lang Kod języka (dodatkowy atrybut dla XHTML) Nie STF
Zdarzenia formularza
onreset Skrypt do uruchomienia gdy formularz jest resetowany Nie STF
onsubmit Skrypt do uruchomienia gdy formularz jest wysyłany Nie STF
Zdarzenia myszy
onclick Co zrobić po kliknięciu myszą Nie STF
ondblclick Co zrobić po podwójnym kliknięciu myszą Nie STF
onmousedown Co zrobić po naciśnięciu klawisza myszy Nie STF
onmousemove Co zrobić w momencie gdy kursor myszki jest przesuwany Nie STF
onmouseout Co zrobić gdy kursor myszki opuszcza element Nie STF
onmouseover Co zrobić gdy kursor myszki najeżdża na element Nie STF
onmouseup Co zrobić po zwolnieniu klawisza myszki Nie STF
Zdarzenia klawiatury
onkeydown Co zrobić gdy klawisz zostanie naciśnięty Nie STF
onkeypress Co zrobić gdy klawisz zostanie naciśnięty i zwolniony Nie STF
onkeyup Co zrobić gdy klawisz zostanie zwolniony Nie STF