das problem liegt einfach darin, dass alles durchlaufen wird, aber nicht beim ersten abgebrochen wird...
entweder du brichst nach dem ersten ab, oder sucht dir eine variable die beschreibt, ob beireits ein fehler gefunden wurde
in diesem beispiel wird die schleife einfach abgebrochen
hier brauchst du für neue felder übrigens nur noch das array erweitern ;)
<script language="JavaScript" type="text/javascript">
<!--
function chkForm() {
var ok = true;
var zupruefen = new Array("vorname","nachname","datum");
for(i=0;i<zupruefen.length,i++)
{
fehlerfeld=zupruefen[i] + "Fehler";
if (document.forms.formular[zupruefen[i]].value == "")
{
document.forms.formular[zupruefen[i]].focus();
document.getElementById(fehlerfeld).style.visibility = "visible";
ok = false;
break;
}
else
{
document.getElementById(fehlerfeld).style.visibility = "hidden";
}
}
if (!ok)
return ok;
}
// -->
</script>
gruß