
26/10/2005, 12:22
|
 | Moderador extraterrestre | | Fecha de Ingreso: diciembre-2001 Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años, 4 meses Puntos: 61 | |
Depende de dónde lo pongas en el código.
los números son en función del orden en que están puestos dentro del formulario.
Tal vez lo más sencillo es un pequeño cambio en el checkeo. Cada campo del formulario tiene un name, verdad? (<input type="text" name="pepe"...). Pues vamos a jugar con eso para que te sea más sencillo añadir nuevas reglas. El código quedaría así: Código PHP: <!-- //Script original de KarlanKas para forosdelweb.com
colorMal="#eeddee"; colorBien="white"; regla=new Array()
regla[0]="valor.length<0"; regla[1]="valor.length<5"; regla[2]="valor.length<5"; regla[3]="valor.length<0"; regla[4]="valor.length<5"; regla[5]="valor.length<3"; regla[6]="valor.length<3"; regla[7]="valor.length<4"; regla[8]="valor.lastIndexOf('@')!=valor.indexOf('@') || valor.indexOf('@')<2 || valor.lastIndexOf('.')<valor.length-4 || valor.lastIndexOf('.')>valor.length-3"; regla[9]="valor.length<0"; regla[10]="valor.length<6"; regla[11]="valor.length<0"; regla[12]="valor.length<0"; regla[13]="valor.length<0"; regla[14]="valor.length<4"; regla[15]="valor.length<4"; regla[16]="valor.length<4"; mensaje=new Array()
mensaje[0]=""; mensaje[1]="Falta tu nombre"; mensaje[2]="Falta tu DNI o CE"; mensaje[3]=""; mensaje[4]="Falta tu domicilio"; mensaje[5]="Falta Estado/Provincia"; mensaje[6]="Falta Pais"; mensaje[7]="Falta tu telefono"; mensaje[8]="Correo inválido"; mensaje[9]=""; mensaje[10]="Falta el dominio"; mensaje[11]=""; mensaje[12]=""; mensaje[13]=""; mensaje[14]="falta usuario"; mensaje[15]="falta contraseña"; mensaje[16]="repita la contraseña"; function comprobar(){ errores=""; mensaje2=""; for(a=0;a<regla.length;a++){ campo=document.forms[0].elements[a]; valor=document.forms[0].elements[a].value; b=(regla[campo.name])?campo.name:a; if(eval(regla[b])){ mensaje2=(mensaje[b])?mensaje[b]:"Por favor, rellene el campo "+document.forms[0].elements[a].name; errores+=mensaje2+"<br>"; document.forms[0].elements[b].style.background=colorMal;} else{document.forms[0].elements[b].style.background=colorBien;} }
herror.style.background=(errores!="")?colorMal:colorBien; herror.style.border=(errores!="")?"solid 1px black":"none"; herror.innerHTML=errores;
return (errores=="") }
Ahora si quieres añadir una regla pones:
regla['name_del_checkbox']=campo.checked;
mensaje['name_del_checkbox']="Tiene que marcar el checkbox de arriba";
Así, por ejemplo, si añades este campo al formulario:
<input type="checkbox" name="pepe" value="1" />Estoy de acuerdo con que me arranquen el corazón.
La regla debe ser:
regla['pepe']=campo.checked;
mensaje['pepe']="Tiene que querer que le arranquemos el corazón para ganar la bicicleta de montaña.";
Dime si me he explicado bien y te funciona.
__________________ Cómo escribir
No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |