io userei un normale input submit in modo che isset di php rilevi il valore.
su onclick di questo input va bene la funzione che hai già: se trova errori retituisce false (quindi impedisce l'invio), altrimenti parte l'invio normalmente:
Codice PHP:
<form method='POST' action="" name="modulo">
Nome e Cognome
<input name='NomeCognome' type='text' size="30" >
<input type="submit" name="invia" onClick="return Modulo();">VAI</button>
</form>
Codice PHP:
function Modulo()
{
var nomecognome = document.modulo.NomeCognome.value;
document.modulo.NomeCognome.style.backgroundColor="";
if ((nomecognome == "") || (nomecognome == "undefined"))
{
alert("Il campo Nome e Cognome e obbligatorio.");
document.modulo.NomeCognome.focus();
document.modulo.NomeCognome.style.backgroundColor="red";
return false;
}
else
{
document.modulo.action = "prova.php ";
return true;
}
}