Nie jestem pewien, skąd bierzesz swoje legendy, ale:
Przycisk Prześlij z <button>
Jak z:
<button type="submit">(html content)</button>
IE6 prześle cały tekst tego przycisku między tagami, inne przeglądarki prześle tylko wartość. Użycie <button>
zapewnia większą swobodę układu w projektowaniu przycisku. Pod względem wszystkich swoich zamiarów i celów wydawał się na początku doskonały, ale różne dziwactwa przeglądarki czasami utrudniają korzystanie z niego.
W twoim przykładzie IE6 wyśle text
na serwer, podczas gdy większość innych przeglądarek nic nie wyśle. Aby był kompatybilny z różnymi przeglądarkami, użyj <button type="submit" value="text">text</button>
. Jeszcze lepiej: nie używaj wartości, ponieważ jeśli dodasz HTML, stanie się raczej trudne, co jest odbierane po stronie serwera. Zamiast tego, jeśli musisz wysłać dodatkową wartość, użyj ukrytego pola.
Przycisk z <input>
Jak z:
<input type="button" />
Domyślnie to prawie nic. Nie prześle nawet Twojego formularza. Możesz tylko umieścić tekst na przycisku i nadać mu rozmiar i obramowanie za pomocą CSS. Jego pierwotnym (i obecnym) zamiarem było wykonanie skryptu bez konieczności przesyłania formularza na serwer.
Zwykły przycisk przesyłania z <input>
Jak z:
<input type="submit" />
Podobnie jak poprzedni, ale w rzeczywistości przekazuje otaczającą formę.
Przycisk przesyłania obrazu z <input>
Jak z:
<input type="image" />
Podobnie jak pierwsza (wyślij), również prześle formularz, ale możesz użyć dowolnego obrazu. Kiedyś był to preferowany sposób używania obrazów jako przycisków, gdy trzeba było przesłać formularz. Dla większej kontroli <button>
jest teraz używany. Może być również używany do map obrazu po stronie serwera, ale w dzisiejszych czasach jest to rzadkość. Kiedy użyjesz usemap
-attribute i (z tym atrybutem lub bez), przeglądarka wyśle współrzędne X / Y wskaźnika myszy do serwera (a dokładniej, lokalizacja wskaźnika myszy wewnątrz przycisku w momencie kliknięcia). Jeśli po prostu zignorujesz te dodatki, to nic innego jak przycisk przesyłania przebrany za obraz.
Istnieją pewne subtelne różnice między przeglądarkami, ale wszystkie przesyłają atrybut wartość, z wyjątkiem <button>
tagu, jak wyjaśniono powyżej.
<input type="submit">
i<button type="submit">
?