Przeczytałem trochę na ten temat, ale nie wydaje mi się, aby znaleźć solidne informacje na temat tego, jak różne przeglądarki traktują różne rzeczy.
html
cross-browser
Andy
źródło
źródło
Odpowiedzi:
readonly
Elementem jest po prostu nie można edytować, ale zostanie wysłana, gdy zgodnieform
twierdzi.disabled
Element nie jest edytowalny i nie jest wysyłana na przedstawienia. Inną różnicą jest to, żereadonly
elementy mogą być skupione (i skupione podczas „tabulacji” przez formularz), podczas gdydisabled
elementy nie.Przeczytaj więcej na ten temat w tym świetnym artykule lub w definicji w3c . Cytując ważną część:
źródło
disabled
sugeruje,readonly
alereadonly
nie sugerujedisabled
. Innymi słowy, jeśli element madisabled
atrybut, wówczas nie ma potrzeby dołączaniareadonly
atrybutu. Poprawny?Żadne zdarzenia nie są wyzwalane, gdy element ma wyłączony atrybut.
Żadne z poniższych nie zostanie uruchomione.
Chociaż tylko do odczytu zostanie uruchomiony.
źródło
Wyłączone oznacza, że żadne dane z tego elementu formularza nie zostaną przesłane podczas przesyłania formularza. Tylko do odczytu oznacza, że wszelkie dane z elementu zostaną przesłane, ale użytkownik nie może ich zmienić.
Na przykład:
Spowoduje to przesłanie wartości „Bob” dla elementu „twoja nazwa”.
To nie prześle niczego dla elementu „twoje imię”.
źródło
readonly
idisabled
są wartości logiczne. Użyjdisabled
zamiastdisabled="disabled"
(to samo tylko do odczytu)attrname="attrname"
. Tak czy inaczej, wydaje się, że nie jest to szczególnie dobrze udokumentowane, przynajmniej nie mogę tego znaleźć. Cóż, jest to - w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2 - ale wspomina tylko SGML i HTML, a nie XHTML .... zbyt wiele akronimów: SBoolean attributes may legally take a single value: the name of the attribute itself (e.g., selected="selected").
Więc pusty ciąg nie wydaje się być poprawny.To samo co inne odpowiedzi (wyłączone nie jest wysyłane na serwer, tylko do odczytu), ale niektóre przeglądarki zapobiegają podświetlaniu wyłączonego formularza, a tylko do odczytu można nadal wyróżnić (i skopiować).
http://www.w3schools.com/tags/att_input_disabled.asp
http://www.w3schools.com/tags/att_input_readonly.asp
źródło
Jeśli wartość wyłączonego pola tekstowego musi zostać zachowana, gdy formularz zostanie wyczyszczony (zresetowany),
disabled = "disabled"
należy użyć, ponieważ pole tekstowe tylko do odczytu nie zachowuje wartościNa przykład:
HTML
Pole tekstowe
Przycisk reset
W powyższym przykładzie, po naciśnięciu przycisku Wyczyść, wyłączona wartość tekstu zostanie zachowana w formularzu. Wartość nie zostanie zachowana w przypadku
input type = "text" readonly="readonly"
źródło