Yanıtlar:
Bir readonly
öğe sadece düzenlenebilir değildir, ancak ilgili gönderildiğinde gönderilir form
. Bir disabled
öğe düzenlenemez ve gönderildiğinde gönderilmez. Diğer bir fark, readonly
elemanların odaklanamaması (ve bir form aracılığıyla "sekme" yaparken odaklanabilmesidir), disabled
elemanların yapamamasıdır .
Bu harika makalede veya w3c'nin tanımında bunun hakkında daha fazla bilgi edinin . Önemli kısmı alıntılamak için:
Temel Farklılıklar
Devre dışı özniteliği
- Devre dışı bırakılan form öğelerinin değerleri işlemci yöntemine iletilmez. W3C bunu başarılı bir öğe olarak adlandırır. (Bu, işaretlenmemiş form onay kutularına benzer.)
- Bazı tarayıcılar, devre dışı bırakılmış form öğeleri için geçersiz kılınabilir veya varsayılan stil sağlayabilir. (Gri renkli veya kabartma) Internet Explorer 5.5 bu konuda özellikle kötü.
- Devre dışı bırakılan form öğeleri odak almaz.
- Devre dışı bırakılan form öğeleri sekme gezinmesinde atlanır.
Salt Okunur Özelliği
- Tüm form öğelerinin salt okunur bir özniteliği yoktur. En kayda değer
<SELECT>
,<OPTION>
ve<BUTTON>
elementler salt okunur niteliklerini yok (her ikisi de engelli özelliklerini olmasına rağmen)- Tarayıcılar, form öğesinin salt okunur olduğu varsayılan geçersiz kılınmış görsel geri bildirim sağlamaz. (Bu bir sorun olabilir… aşağıya bakın.)
- Salt okunur özniteliği ayarlanmış form öğeleri form işlemcisine aktarılır.
- Odaklanabilen salt okunur form öğeleri
- Sekmeli gezinmeye salt okunur form öğeleri dahil edilir.
disabled
ima ettiğim readonly
fakat readonly
ima etmediğim anlayışım disabled
. Başka bir deyişle, bir öğenin disabled
özniteliği varsa, readonly
özniteliği de eklemeye gerek yoktur . Doğru?
Öğe özelliği devre dışı bırakıldığında hiçbir olay tetiklenmez.
Aşağıdakilerin hiçbiri tetiklenmeyecektir.
$("[disabled]").click( function(){ console.log("clicked") });//No Impact
$("[disabled]").hover( function(){ console.log("hovered") });//No Impact
$("[disabled]").dblclick( function(){ console.log("double clicked") });//No Impact
Bence salt okunur olarak tetiklenir.
$("[readonly]").click( function(){ console.log("clicked") });//log - clicked
$("[readonly]").hover( function(){ console.log("hovered") });//log - hovered
$("[readonly]").dblclick( function(){ console.log("double clicked") });//log - double clicked
Devre Dışı, form gönderildiğinde bu form öğesinden hiçbir veri gönderilmeyeceği anlamına gelir. Salt okunur, öğenin içindeki verilerin gönderileceği anlamına gelir, ancak kullanıcı tarafından değiştirilemez.
Örneğin:
<input type="text" name="yourname" value="Bob" readonly="readonly" />
Bu, "adınız" öğesi için "Bob" değerini gönderir.
<input type="text" name="yourname" value="Bob" disabled="disabled" />
Bu, "adınız" öğesi için hiçbir şey göndermez.
readonly
ve disabled
mantıksal değerlerdir. (Salt okunur olarak) disabled
yerine kullanındisabled="disabled"
attrname="attrname"
. Her iki durumda da, en azından bulabildiğim kadar iyi belgelenmiş görünmüyor. Peki, bu var - w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2 - ama sadece XHTML'den değil SGML ve HTML'den bahsediyor .... çok fazla kısaltma: S
Boolean attributes may legally take a single value: the name of the attribute itself (e.g., selected="selected").
dahil edilmediğinde geçerli : Yani boş dize geçerli görünmüyor.
Diğer yanıtlarla aynı (devre dışı bırakılmış sunucuya gönderilmez, salt okunur), ancak bazı tarayıcılar devre dışı bırakılmış bir formun vurgulanmasını engellerken, salt okunur vurgulanabilir (ve kopyalanabilir).
http://www.w3schools.com/tags/att_input_disabled.asp
http://www.w3schools.com/tags/att_input_readonly.asp
Salt okunur bir alan değiştirilemez. Ancak, kullanıcı sekme yapabilir, vurgulayabilir ve metni kopyalayabilir.
Bir form temizlendiğinde (sıfırlandığında) devre dışı bırakılmış bir metin kutusunun değerinin korunması gerekirse disabled = "disabled"
, salt okunur metin kutusu değeri tutmayacağından kullanılmalıdır.
Örneğin:
HTML
Metin kutusu
<input type="text" id="disabledText" name="randombox" value="demo" disabled="disabled" />
Yeniden başlatma tuşu
<button type="reset" id="clearButton">Clear</button>
Yukarıdaki örnekte, Sil düğmesine basıldığında, devre dışı bırakılmış metin değeri formda korunur. Değer,input type = "text" readonly="readonly"