
07/04/2005, 09:02
|
 | Moderador extraterrestre | | Fecha de Ingreso: diciembre-2001 Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años, 2 meses Puntos: 61 | |
He cambiado ese viejo script en un par de cosas:
- Ahora se manda con un onsubmit,
- si no se establece un mensaje de error para una comprobación concreta crea un mensaje de error tipo y
- si está bien efectivamente se manda.
Entiendo que no has puesto todo tu script porque faltan mensajes de error. No sé si puse en el script que se debe crear una capa con id herror para que muestre los errores que se tienen.
El resultado es este: Código PHP: <html>
<head>
<title>Untitled</title>
<script>
//Script original de KarlanKas para forosdelweb.com
colorMal="#BCCFA9";
colorBien="white";
regla=new Array()
regla[0]="valor.length<3";
regla[1]="valor.length<3";
regla[2]="valor.length<3";
regla[3]="valor.length<4";
regla[4]="valor.length<6";
regla[5]="isNaN(valor) || valor<600000000";
regla[6]="isNaN(valor) || valor<300";
regla[7]="valor.lastIndexOf('@')!=valor.indexOf('@') || valor.indexOf('@')<2 || valor.lastIndexOf('.')<valor.length-4 || valor.lastIndexOf('.')>valor.length-3";
regla[8]="valor.length<5";
regla[9]="valor.length<5";
mensaje=new Array()
//Quitar si no se quiere cartel de errores. Para tener cartel de errores crea un div con id="herrores"
mensaje[0]="Por favor, introduzca el nombre";
mensaje[1]="El número de teléfono introducido no es válido";
mensaje[2]="correo inválido";
mensaje[3]="Por favor, introduzca el Apellidos";
//-----------------------------------------
function comprobar(){
errores="";
mensaje2="";
for(a=0;a<regla.length;a++){
valor=document.forms[0].elements[a].value;
//Quitar si no se quiere cartel de errores
mensaje2=(mensaje[a])?mensaje[a]:"Por favor, rellene el campo "+document.forms[0].elements[a].name;
errores+=mensaje2+"<br>";
document.forms[0].elements[a].style.background=colorMal;}
else{document.forms[0].elements[a].style.background=colorBien;}
}
//Quitar si no se quiere cartel de errores
herror.style.background=(errores!="")?colorMal:colorBien;
herror.style.border=(errores!="")?"solid 1px black":"none";
herror.innerHTML=errores;
//----------------------------------------
return (errores=="")
}
</script>
</head>
<body>
<form name="form1" method="post" action="lolo.php" onsubmit="return comprobar()">
<input name="nombre" type="text" class="formurigistro" id="nombre"> <br>
<input name="apellidos" type="text" class="formurigistro" id="apellidos"> <br>
<select name="pais" class="formurigistro" id="pais"> <option value="cuba">Cuba</option> </select> <br>
<input name="ciudad" type="text" class="formurigistro" id="ciudad"> <br>
<input name="direccion" type="text" class="formurigistro" id="direccion"> <br>
<input name="telefono" type="text" class="formurigistro" id="telefono"> <br>
<input name="zip" type="text" class="formurigistro" id="zip"> <br>
<input name="email" type="text" class="formurigistro" id="email"> <br>
<input name="password" type="password" class="formurigistro" id="password"> <br>
<input name="password1" type="password" class="formurigistro" id="password1">
<input name="Submit" type="submit" class="formurigistro" value="Enviar" >
<input name="Submit" type="reset" class="formurigistro" value="Restablecer"> <br>
<input name="uso" type="checkbox" id="uso" value="checkbox"> Estoy de Acuerdo con las Condiciones de uso<br>
</form>
<div id="herror"></div>
</body>
</html>
Un saludo!
__________________ Cómo escribir
No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |