Ho risolto, era solo una questione di parentesi saltata


codice:
<html>
<head>
<title>
Nel seguente form verificare che i dati digitati dall'utente nei campi username e password non siano numerici. I dati del logon non possono essere nulli.
</title>
<script language="JavaScript">
function verifica() {

  flag = 0;
  if ((document.logon.username.value.length<1) || (!isNaN(document.logon.username.value))){
    window.alert("Inserisci l'username!");
  }

  if ((document.logon.password.value.length<1) || (!isNaN(document.logon.password.value))){
    window.alert("Inserisci la password!");
  }    

} 
</script>
</head>
<body>
<form name="logon"onsubmit="return verifica(this);" Method="post">


Username<input type="text" name="username"></p>


Password<input type="text" name="password"></p>


<input type="submit" name="INVIA" value=INVIA></p>


<input type="button" name="ANNULLA" value=ANNULLA ></p>
</form>
</body>
</html>