salve, ho uno strano problema con uno script javascript che ho scritto:

lo script è il seguente:

codice:
function controlloAnno(field)
{
    if(field.value=='2' || field.value=='3' || field.value=='5' || field.value=='6') return true;
    else
    {
        alert('Il valore del campo \"durata del corso\" deve essere pari a 2 o 3 o 5 o 6');
        form.durata_minima.focus();
        return false;
    }
}
che è inserito nel body di una pagina html.

più avanti c'è un form, di cui uno dei campi così realizzato:

codice:
Durata minima prevista per il corso (in anni):

<input type="text" name="durata_minima" size="10" maxlength="10" title="Durata minima prevista per il corso" ddv-type="numeric" ddv-required="true" ddv-maxlength="10" onblur="return controlloAnno(this)" />
quindi, quando si "lascia" il campo dovrebbe scattare il controllo.

il problema che si è presentato è il seguente: se io metto lo script in un file .js e poi lo includo nel body della pagina, così:

codice:
<script type="text/javascript" src="controlloAnno.js" />
nessun problema, lo script viene eseguito correttamente, mentre se scrivo manualmente la funzione, così:

codice:
<script type="text/javascript">
function controlloAnno(form)
{
    if(field.value=='2' || field.value=='3' || field.value=='5' || field.value=='6') return true;
    else
    {
        alert('Il valore del campo \"durata del corso\" deve essere pari a 2 o 3 o 5 o 6');
        form.durata_minima.focus();
        return false;
    }
}
</script>
questa non viene eseguita. qualcuno sa dirmi perchè?