Poznaj podstawy korzystania z formularza w internecie dzięki temu wprowadzeniu do elementu formularza.
Załóżmy, że chcesz zapytać użytkowników swojej witryny o ich ulubione zwierzę. Pierwszym krokiem jest znalezienie sposobu zbierania danych.
W HTML-u możesz to zrobić za pomocą elementu formularza (<form>
), elementu <input>
z atrybutem <label>
i przycisku przesyłania <button>
.
<form>
<label for="animal">What is your favorite animal?</label>
<input type="text" id="animal" name="animal">
<button>Save</button>
</form>
Czym jest element formularza?
Element formularza składa się z tagu otwierającego <form>
, opcjonalnych atrybutów zdefiniowanych w tagu otwierającym i tagu zamykającego </form>
.
Między tagami otwierającym i zamykającym możesz umieścić elementy formularza, takie jak <input>
i <textarea>
, aby umożliwić użytkownikom wprowadzanie różnych rodzajów danych. Więcej informacji o elementach formularza znajdziesz w następnym module.
Gdzie są przetwarzane dane?
Gdy formularz zostanie przesłany (np. gdy użytkownik kliknie przycisk Prześlij), przeglądarka wysyła żądanie. Skrypt może odpowiedzieć na to żądanie i przetworzyć dane.
Domyślnie żądanie jest wysyłane do strony, na której wyświetlany jest formularz.
Załóżmy, że chcesz, aby skrypt uruchamiany o godzinie https://web.dev
przetwarzał dane z formularza.
Jak to zrobisz?
Wypróbuj na CodePen
Lokalizację skryptu możesz wybrać za pomocą atrybutu action
.
<form action="https://example.com/animals"></form>
W poprzednim przykładzie wysyłamy żądanie do https://example.com/animals
.
Skrypt na serwerze backendu example.com
może obsługiwać żądania wysyłane do /animals
i przetwarzać dane z formularza.
Jak dane są przesyłane?
Domyślnie dane formularza są wysyłane jako żądanie GET
, a przesłane dane są dołączane do adresu URL. Jeśli użytkownik wpisze w poprzednim przykładzie słowo „frog”, przeglądarka wyśle żądanie na ten adres URL:
https://example.com/animals?animal=frog
W takim przypadku możesz uzyskać dostęp do danych w interfejsie lub w backendzie, pobierając je z adresu URL.
Jeśli chcesz, możesz zmienić atrybut metody, aby formularz używał żądania POST
.
<form method="post">
...
</form>
Za pomocą POST
dane są umieszczane w treści żądania.
Dane nie będą widoczne w adresie URL i będą dostępne tylko ze skryptu frontendowego lub backendowego.
Którą metodę należy zastosować?
Obie metody mają swoje zastosowania.
W przypadku formularzy przetwarzających dane wrażliwe używaj metody POST
. Dane są szyfrowane (jeśli używasz protokołu HTTPS) i dostępne tylko dla skryptu backendu, który przetwarza żądanie. Dane nie są widoczne w adresie URL. Typowym przykładem jest formularz logowania.
Jeśli dane można udostępniać, możesz użyć metody GET
.
Następnie dane są dodawane do historii przeglądarki, ponieważ są uwzględnione w adresie URL.
Jest to często wykorzystywane w formularzach wyszukiwania. Umożliwia to dodanie strony wyników wyszukiwania do zakładek.
Znasz już element formularza. Teraz dowiesz się więcej o polach formularza, dzięki którym Twoje formularze będą interaktywne.
Sprawdź swoją wiedzę
Sprawdź swoją wiedzę o elemencie formularza
Jak wygląda tag otwierający elementu formularza?
</form>
<form>
.<form-container>
<form>
<form-element>
Którego atrybutu możesz użyć, aby określić, gdzie jest przetwarzany <form>
?
where
action
action
określa, gdzie jest przetwarzany element <form>
.href
url
Jaka jest domyślna metoda żądania?
GET
POST