Puede establecer el atributo disabled
de fieldset
.
De MDN:
Si este atributo booleano está establecido, los controles de formularios que son sus descendientes, salvo descendientes de su primer elemento opcional, están desactivados, es decir, no se puede editar. No recibirán ningún evento de exploración, como clics del mouse o relacionados con el enfoque. A menudo, los navegadores muestran controles como el gris.
HTML: <fieldset disabled> ... </fieldset>
jQuery: $('#myfieldset').prop('disabled', true);
JS: document.getElementById('#myFieldset').disabled = true;
Nota importante: Esto no funciona correctamente en Internet Explorer debido a un par de errores, pero funciona bien en casi todos los demás (incluido Edge).
Errores
IE: 1, 2
tl; dr: entradas de texto y archivos no desactivan correctamente, y el usuario puede interactuar con ellos
Si esto es un tema de oferta, se necesita ir al fieldset y poner disabled
en sus descendientes como se describe en otras respuestas aquí.
información de servicio técnico navegador: http://caniuse.com/#feat=fieldset-disabled
Gracias !! ¡Utilicé algo similar pero tu explicación será útil para otra cosa que tengo que hacer! :-) – AndreMiranda
a partir de jquery 1.6, [se recomienda usar '.prop()' en lugar de '.attr()' para establecer el valor de las propiedades] (http://api.jquery.com/prop/#prop2), esto puede ser como: '.prop (" disabled ", true)' –
Observé que si el elemento del conjunto de campos padre está deshabilitado, entonces todos los elementos secundarios se desactivarán, incluso si hay un elemento fieldset habilitado. ¿Es esto un error de característica? – tarekahf