Due cose :
1 - Non puoi mettere un - in un nome o in un id !!! Come fa il js per sapere se si tratta di un nome o di un'operazione aritmetica ?
2 - Non occore usare il comando eval a tutti i costi. eval è interessante nel caso in cui crei del codice dinamicamente.
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
<!--
function abilita( )
{
var disableValue = ! document.material.cambia.checked;
document.material.cal_button_2.disabled= disableValue
document.material.datec.disabled = disableValue;
}
//-->
</script>
html e questo
<form name="material" >
<input type="checkbox" name="cambia" id="cambia" onclick="abilita()" />
<input type="text" name="datec" id="datec" value=".................." disabled/>
<BUTTON id="cal_button_2" type="button" disabled>
[img]../common/jscalendar-1.0/img.gif[/img]
</BUTTON>
</body>
</html>