Mille grazie per aver risposto.
Ho integrato il tuo esempio con questo già esistente:
codice:
<script language="JavaScript" type="text/JavaScript">
<!--
function dataValida(txt){
var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
if(re.test(txt)){
var adata = txt.split('/');
var gg = parseInt(adata[0],10);
var mm = parseInt(adata[1],10);
var aaaa = parseInt(adata[2],10);
var xdata = new Date(aaaa,mm-1,gg)
if((xdata.getFullYear()==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
return xdata
else return false
}else return false
}
function convalidaForm(Qform)
{
if(Qform.es.checked)
if(!dataValida(Qform.data_int.value)){
alert('check selezionato! Inserire una data valida');
return false
}
for (var a = 0; a < Qform.elements.length; a++)
{
var campo = Qform.elements[a];
if (campo.value.length <= 0)
{
window.alert('Il campo "' + campo.name +'"\nè un campo obbligatorio in questo form.');
campo.focus();
return false;
}
}
// Abilita l'invio del FORM
return(true);
}
//-->
</script>
Funziona bene. 
Adesso potrei disabilitare (facendolo diventare grigio) il campo data_int sino a quando il checkbox "es" non venga selezionato?