Elementy formularza: rodzaje przycisków
Istnieją trzy podstawowe sposoby definiowania przycisków w HTML - wyróżniamy kolejno: <input type="submit">
, <input type="button">
oraz <button></button>
. W niniejszym wpisie poznamy różnice pomiędzy nimi!
Przycisk input type submit
Przycisk tego typu zazwyczaj służy w formularzu do dokonania tzw. submita, czyli podsumowania całego formularza - dane zostają wysyłane na serwer wybraną metodą (get
lub post
).
<input type="submit" value="Kliknij">
Rezultat w przeglądarce:
Napis na przycisku określamy jak widać atrybutem value
(ang. wartość). I teraz bardzo ważny wniosek: kliknięcie przycisku, który jest submitem, spowoduje próbę wysłania formularza na serwer, w przeciwieństwie do drugiego typu przycisku <input type="button">
, który opisano w sekcji poniżej.
Przycisk input type button
Znacznik <input type="button">
definiuje "zwykły" przycisk – w sensie: jego kliknięcie nie submituje całego formularza (po kliknięciu nie zostaje podjęta próba wysłania danych formularza wybraną metodą na serwer):
<input type="button" value="Kliknij">
Rezultat w przeglądarce (wizualnie) jest identyczny, jednak kliknięcie nie spowoduje wysłania formularza:
Czasami potrzebujemy takiego niesubmitującego zachowania, gdyż chcemy aby kliknięcie przycisku uruchomiło nam lokalny skrypt JS po stronie front-endu, a nie powodowało podjęcia próby komunikacji z serwerem, czyli z PHP po stronie back-endowej. To jest właśnie istota różnicy pomiędzy type="submit"
i type="button"
.
Przycisk button
Zamiast pojedynczego znacznika <input>
, możemy zamiennie zapisać podwójny znacznik <button></button>
. W tej wersji napis na przycisku umieszczamy po prostu pomiędzy tagami:
<button>Kliknij</button>
Dlaczego dano nam możliwość zapisywania oprócz powyższych dwóch inputów, także znacznika button? Odpowiedź tkwi właśnie w fakcie, iż znacznik <button>
jest podwójny - tzn. ma tag otwierający i zamykający, w przeciwieństwie do pojedynczego <input>
. A to sprawia, że pomiędzy tagami <button></button>
, można np. umieścić obrazek <img>
, czyli niejako uatrakcyjnić wizualnie ten element:
<button><img src="obraz.png" alt="">Wyślij</button>
Jeżeli chodzi o zachowanie elementu wewnątrz formularza, to kliknięcie elementu <button></button>
, podobnie jak <input type="submit">
spowoduje podsumowanie formularza (zatem jedynie <input type="button">
wyróżnia się nie podejmując w ogóle próby kontaktu z serwerem).
Oczywiście na początku swoboda wyboru z aż trzech dostępnych opcji podczas tworzenia przycisku sieje mocny zamęt w głowach adeptów HTML, ale spokojnie – ty już znasz różnice pomiędzy nimi.
Komentarze
Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać: kontakt@pasja-informatyki.pl. Dziękujemy za poświęcony czas - to dzięki Wam serwis staje się coraz lepszy!