Cuando mostramos un formulario al usuario, algunos de los campos no nos interesa que los pueda modificar y los deshabilitamos, es el caso de valores por defecto en función de los permisos que tenga el usuario o cualquier otra restricción.
Un ejemplo de uso podría ser el siguiente:

Donde el campo "grupo" podría ser:
(...)<select name="grupo_foros" id="grupo_foros" disabled="disabled"> <option value="121">entretenimiento</option></select>(...)
Estos campos deshabilitados no se enviarán cuando el usuario completa el formulario.
Sin embargo puede interesarnos recoger el valor del campo dehabilitado en la página o servlet que manipulará la información introducida en el formulario.
Utilizando una JSP o servlet, intentaríamos recogerlo con:
String grupo = request.getParameter("grupo_foros");
Pero esto no funcionará, retornando siempre null.
La solución
1. Al generar la página del formulario, igual que somos capaces de decidir si el campo deberá o no aparecer deshabilitado, podremos añadir un campo oculto (hidden) extra en caso de estar deshabilitado.
2. Quizá la mejor opción: Solemos tener una función javascript que valida los valores del formulario, así que podemos utilizarlo para habilitar todos los campos deshabilitados en el momento en que sepamos que todo está correcto:
function correcto(){
//(...)
var grupo_foros = getElementById("grupo_foros");
//(... comprobaciones de formatos y relaciones ...)
if (no_hay_fallos){
grupo_foros.disabled=false;
return true;
}else{
alert("Compruebe los campos...");
return false;
}
}