Sobes.tech
Junior

Jak zamierzasz tworzyć formularz HTML?

sobes.tech AI

Odpowiedź od AI

Aby utworzyć formularz HTML, użyję elementu <form>. Wewnątrz niego znajdą się elementy sterujące, takie jak pola tekstowe (<input type="text">), pola hasła (<input type="password">), pola wyboru (<input type="checkbox">), przyciski radiowe (<input type="radio">), listy rozwijane (<select> i <option>), obszary tekstowe (<textarea>) oraz przyciski wysyłania (<button type="submit"> lub <input type="submit">).

Każdy element formularza będzie miał atrybut name do identyfikacji po stronie serwera i zazwyczaj atrybut id do powiązania z etykietą (<label>).

Atrybuty <form>:

  • action: URL, na który będą wysyłane dane formularza podczas jego wysłania.
  • method: Metoda HTTP do wysyłania danych (GET lub POST).
  • enctype: Typ kodowania danych podczas wysyłania (np. multipart/form-data dla przesyłania plików).

Przykład prostego formularza:

<form action="/submit-form" method="post">
  <label for="username">Nazwa użytkownika:</label><br>
  <input type="text" id="username" name="username"><br><br>

  <label for="password">Hasło:</label><br>
  <input type="password" id="password" name="password"><br><br>

  <input type="checkbox" id="remember" name="remember" value="yes">
  <label for="remember">Zapamiętaj mnie</label><br><br>

  <label for="country">Kraj:</label><br>
  <select id="country" name="country">
    <option value="ru">Rosja</option>
    <option value="us">USA</option>
  </select><br><br>

  <label for="message">Wiadomość:</label><br>
  <textarea id="message" name="message" rows="4" cols="50"></textarea><br><br>

  <button type="submit">Wyślij</button>
</form>

Walidacja formularza może być realizowana zarówno po stronie klienta (za pomocą atrybutów walidacji HTML5, JavaScript), jak i po stronie serwera.

Atrybuty walidacji HTML5:

  • required: Pole obowiązkowe.
  • minlength, maxlength: Minimalna i maksymalna długość pola tekstowego.
  • min, max: Minimalna i maksymalna wartość dla pól numerycznych.
  • type z różnymi wartościami (email, url, number, date itp.) dla automatycznej walidacji przez przeglądarkę.
  • pattern: Wyrażenie regularne do walidacji wejścia.

Przykład z użyciem walidacji HTML5:

<form action="/submit-form" method="post">
  <label for="email">Email:</label><br>
  <input type="email" id="email" name="email" required><br><br>

  <label for="age">Wiek (od 18 do 99):</label><br>
  <input type="number" id="age" name="age" min="18" max="99"><br><br>

  <label for="zipcode">Kod pocztowy (5 cyfr):</label><br>
  <input type="text" id="zipcode" name="zipcode" pattern="\d{5}"><br><br>

  <button type="submit">Wyślij</button>
</form>

Do stylizacji formularza używany będzie CSS. Dla bardziej złożonej logiki lub asynchronicznego wysyłania danych, zostanie użyty JavaScript. Aby poprawić dostępność formularza, zostaną użyte odpowiednie atrybuty ARIA i poprawna struktura HTML.