2010-04-26 15 views
15

¿Cuál es la mejor manera de deshabilitar todos los controles de formulario en una página web? He leído que esto no se puede hacer a través de CSS, pero esta sería mi opción preferida si es posible. También tengo acceso a jQuery si eso hace la vida más fácil.Deshabilitar todos los controles de formulario en una página web

+0

Posible víctima http://stackoverflow.com/questions/2310816/disabling-all-form-elements-in-selected-div-edited y http: // stackoverflow .com/search? q = disable + form – zaf

+0

Esto no tiene nada que ver con la presentación, por lo que CSS sería la herramienta incorrecta. (También parece que intentas hacer que las cosas se parezcan a los controles de forma, pero nunca pretendas que el usuario las ingrese, de ser así, los controles de formulario también son la herramienta equivocada). – Quentin

+0

@Chris: idealmente la actualización de tu la pregunta debe hacerse por separado. – karim79

Respuesta

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

:input selecciona todos controles de formulario, incluyendo entrada, área de texto, seleccionar y elementos de botón.

Si desea deshabilitar los elementos del formulario que están fuera de los formularios, simplemente omita el selector 'formulario' de la anterior.

+0

Eso era justo lo que estaba buscando. Gracias. –

2

@ karim79 tiene razón con sus selectores CSS, pero la convención llama a la función jquery .prop() (consulte los documentos here).

Así que sugiero ...

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

Here es una situación similar en el que la función .prop (a) es adecuada.

Espero que esto ayude!

0

U puede deshabilitar todas las áreas de tipo de entrada utilizando debajo de uno.

jQuery 1.5 y por debajo

cualquier cuadro de texto - $("input[type=text]").attr('disabled', true);
cualquier botón de radio - $("input[type=radio]").attr('disabled', true);
cualquier casilla - $("input[type=checkbox]").attr('disabled',true);

jQuery 1.6 +

cualquier cuadro de texto - $("input[type=text]").prop('disabled', true);
cualquiera de los botones de radio - $("input[type=radio]").prop('disabled', true);
cualquier casilla - $("input[type=checkbox]").prop('disabled',true);

Cuestiones relacionadas