# Formularz HTML - atrybuty z grupy FORM

Zapoznając się z atrybutami HTML, jakie może posiadać element form możemy zauważyć, że wspomniany element `form` reprezentujący formularz HTML może między innymi posiadać następujące atrybuty HTML: action, enctype, method, novalidate oraz target.

Każdy z wyżej wymienionych atrybutów HTML, które może posiadać element `form`, pełni swoją określoną funkcję.

Przykładowo. Dodając atrybut `method` wraz z interesującą nas wartością do elementu `form` możemy określić metodę przekazania danych, która ma być właściwa podczas procesu, który następuje po zatwierdzeniu (za pomocą przycisku zatwierdzającego) formularza HTML reprezentowanego przez wspomniany element `form`.

Przykład:

```html
<form action="./php/submit-result.php" method="post">
  <p>
    <label>
      Jakie jest Twoje imię?
      <input type="text" name="imie">
    </label>
  </p>

  <p>
    <label>
      Jaki jest Twój ulubiony kwiat?
      <input type="text" name="ulubiony-kwiat">
    </label>
  </p>

  <p>
    <button type="submit">zatwierdź</button>
  </p>
</form>
```

Rezultat:

<figure><img src="https://3945955358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR42GcKXoxIh1R4ROdsLU%2Fuploads%2FMRQUnnSWD318f85ezgDG%2Fimage.png?alt=media&#x26;token=2593afc3-5fe7-46fc-8459-85e9e8e172ef" alt=""><figcaption></figcaption></figure>

W języku HTML istnieją atrybuty HTML, które należą do grupy FORM. Wspomnianymi atrybutami HTML są następujące atrybuty HTML: formaction, formenctype, formmethod, formnovalidate oraz formtarget.

Dodając, któryś z atrybutów grupy FORM wraz z określoną przez nas wartością do interesującego nas elementu HTML reprezentującego przycisk zatwierdzający formularz HTML możemy sprawić, że formularz HTML, z którym został powiązany wspomniany element HTML reprezentujący przycisk zatwierdzający, będzie posiadał zmienioną funkcję.

Przykładowo. Element HTML reprezentujący przycisk zatwierdzający posiadający atrybut `formmathod` może zmienić funkcję elementu `form` posiadającego atrybut `method`.

Przykład:

```html
<form action="./php/submit-result.php" method="post">
  <p>
    <label>
      Jakie jest Twoje imię?
      <input type="text" name="imie">
    </label>
  </p>

  <p>
    <label>
      Jaki jest Twój ulubiony kwiat?
      <input type="text" name="ulubiony-kwiat">
    </label>
  </p>

  <p>
    <button type="submit" formmethod="get">zatwierdź</button>
  </p>
</form>
```

Rezultat:

<figure><img src="https://3945955358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR42GcKXoxIh1R4ROdsLU%2Fuploads%2FeYJZoU5zi6HjiGKAq3m0%2Fimage.png?alt=media&#x26;token=cbec91c0-79f9-4699-86e8-82ec40ff9285" alt=""><figcaption></figcaption></figure>

Od tej pory, gdy klikniemy na przycisk zatwierdzający nasz przykładowy formularz HTML metodą przekazania danych do zasobu internetowego znajdującego się pod adresem `./php/submit-result.php` będzie metoda GET, mimo że nasz przykładowy formularz HTML reprezentowany przez element `form` posiada atrybut `method` wraz z wartością `post`, ponieważ do elementu HTML reprezentującego wspomniany przycisk zatwierdzający został dodany atrybut `formmethod` wraz z wartością `get`.
