Kompletnie zepsuty <button>
W Internet Explorer <button>
jest prawie bezużyteczny.
- Wysłany z formularzem wysyła HTML, który zawiera, a nie swoją wartość z atrybutu
value
. - Nie ma możliwości pobrania wartości
<button>
podanej w HTML. MetodagetAttribute
i polevalue
zawierają to samo, coinnerHTML
. - Wysyłane są wszystkie aktywne buttony, a nie tylko kliknięty.
- Wbrew specyfikacji domyślnie wysyła formularz
Dokumentacja MSDN opisuje część z tych bugów, ale nawet w samym ich opisie są błędy...
Rozwiązanie
Należy rozważyć użycie <input type="submit">
, <input type="button">
lub <input type="image">
.
Problem wysyłania wszystkich buttonów można rozwiązać skryptem, który w momencie kliknięcia <button>
ustawia disabled
wszystkim pozostałym
buttonom.
Trzeba każdemu dawać atrybut type="button"
, żeby zachowywał się jak w pozostałych przeglądarkach.
Skrypt IE7 Deana Edwardsa zawiera łaty na implementację <button>
.
Buttonowa ciekawostka w Gecko (Firefox)
<button>
w przeglądarkach z rodziny Mozilla zachowuje się jak element inline-block
, choć tej właściwości normalnie nie obsługują.
Zmodyfikowano: 21.03.2007, 13:09