In giro c'è parecchio materiale in proposito...cmq ti propongo una soluzione che prevede anche una label "dinamica" :
codice:
<html>
<head>
<script type="text/javascript">
function attiva(valore,menu) {
var etichetta=menu.parentNode.firstChild;
if (valore=="superiore") {
menu.disabled=false;
etichetta.style.color="#000";
}
else {
menu.disabled=true;
etichetta.style.color="#ccc";
}
}
</script>
</head>
<body>
<form action="tuaPagina.asp" method="get">
<div>
<label for="scuola">Seleziona scuola</label>
<select id="scuola" name="scuola" onchange="attiva(this.options[this.selectedIndex].value,this.form.indirizzo)">
<option value="media">Scuola Media</option>
<option value="superiore">Scuola superiore</option>
</select>
</div>
<div>
<label for="indirizzo" style="color:#ccc">Seleziona indirizzo</label>
<select id="indirizzo" name="indirizzo" disabled="true">
<option value="industriale">Industriale</option>
<option value="scientifico">Scientifico</option>
<option value="magistrale">Magistrale</option>
</select>
</div>
<input name="submit" type="submit" value="invia" />
</form>
</body>
</html>
Ah l'accrocchio con i div serve perchè IE non supporta previousSibling