Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/04/2005, 09:02
Avatar de KarlanKas
KarlanKas
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.