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. MetodagetAttributei polevaluezawierają 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, 12:09