2010-04-26 24 views
15

Web sayfasında tüm form denetimlerini devre dışı bırakmanın en güzel yolu nedir? Bunun CSS ile yapılamayacağını okudum, ancak mümkünse bu benim tercihim olacaktır. Hayatı kolaylaştırırsa jQuery'ye de erişebilirim.Web sayfasındaki tüm form denetimlerini devre dışı bırakma

+0

Olası dupe http://stackoverflow.com/questions/2310816/disabling-all-form-elements-in-selected-div-edited ve http: // stackoverflow .com/search? q = disable + form – zaf

+0

Bunun sunumla ilgisi yok, bu yüzden CSS yanlış bir araç olurdu. (Aynı zamanda, form kontrolleri gibi görünen şeyler elde etmek için çalışıyor olabilirsiniz, ancak bunları kullanarak kullanıcı girişi almak niyetinde değilsiniz, öyleyse, o zaman form kontrolleri de yanlış bir araçtır.) – Quentin

+0

@Chris - ideal olarak sizin için güncelleme Soru ayrı ayrı sorulmalıdır. – karim79

cevap

17
$("form :input").attr("disabled","disabled"); 

:input girişi, textarea seçin ve düğme elemanları dahil tüm form denetimlerini seçer.

siz de formların dışında olan form öğeleri devre dışı bırakmak istiyorsanız

, basitçe Yukarıdan 'form` seçici ihmal.

+0

Bu benim aradığım şeydi. Teşekkürler. –

2

@ karim79, CSS seçicileriyle haklıdır, ancak kural, jquery .prop() işlevini çağırır (bkz. Belge here).

yüzden önermek

...

$("form :input").prop("disabled",true); 

Here .prop() fonksiyonu uygundur benzer bir durumdur.

Bu yardımcı olur umarız!

0

U, aşağıdakilerden birini kullanarak tüm giriş türü alanlarını devre dışı bırakabilir.

jQuery 1.5 ve altında

herhangi bir metin kutusu - $("input[type=text]").attr('disabled', true);
herhangi bir radyo düğmesi - $("input[type=radio]").attr('disabled', true);
herhangi onay - $("input[type=checkbox]").attr('disabled',true);

jQuery 1.6+

herhangi bir metin kutusu - $("input[type=text]").prop('disabled', true);
herhangi bir radyo düğmesi - $("input[type=radio]").prop('disabled', true);
herhangi onay - $("input[type=checkbox]").prop('disabled',true);

İlgili konular