bien tengo un pequeño problema con este código.. cuando lo ejecuto todo está ok. peró por ejemplo si tengo más de un campo erroneo y sólo "corrijo" un campo.. y dejo el otro erroneo y le vuelvo a dar al submit no me desaparecen los errores.. sólo lo hacen si dejo todo el formulario sin errores .. porqué pasa esto?
Código HTML:
<html>
<head>
<link rel="stylesheet" href="formu.css" type="text/css">
<title>
Fórmulario - Datos personales
</title>
<script language="javascript">
<!--
function valida()
{
errores=0;
if(!(document.registro.nombre.value.length>=4)&&(document.registro.nombre.value.length<=8))
{
if(document.registro.nombre.value.length=="0")
{
document.getElementById("nombre").style.borderColor="red";
document.getElementById("er_name").innerHTML = ("    Este campo no puede estar vacio.");
errores++;
}
else {
document.getElementById("nombre").style.borderColor="red";
document.getElementById("er_name").innerHTML = ("    Este campo a de tener entre 4 y 8 caracteres");
errores++;
}
}
if(document.registro.apellidos.value.length=="0")
{
document.getElementById("apellidos").style.borderColor="red";
document.getElementById("er_ape").innerHTML = ("    Este campo no puede estar vacio");
errores++;
}
if(errores!="0")
{
return false;
}
else
return true;
}
//-->>
</script>
</head>
<body>
<h2>Datos nuevo usuario</h2>
<br>
<form name="registro" method="post" onSubmit="return valida()">
<Fieldset style="margin:auto;">
<legend>Registro nuevo usuario</legend>
<label for="nombre">Nombre: </label><input type="text" id="nombre" name="nombre"> <span id="er_name" style="color: red;font-weight:bold;"></span><br>
<label for="apellidos">Apellidos: </label><input type="text" id="apellidos" name="apellidos"><span id="er_ape" style="color: red;font-weight:bold;"></span><br>
<label for="edad">Fecha Nacimiento: </label><br>
<label for="mail">E-Mail: </label><input type="text" id="mail" name="mail"><br>
<label for="username">Nombre Usuario: </label><input type="text" id="username" name="username"><br>
<label for="password">Contraseña: </label><input type="password" id="password" name="password"><br>
<input type="submit" value="enviar">
</fieldset>
</form>