Mis validaciones genran que mi pagina no responda.

Tengo que validar un formulario y hice las validaciones en javascript y una por una si funcionan pero si hago correr todas las validaciones he introduzco datos incorrectos en el formulario me valida los primeros campos y despues de corregir eso ya no me valida los demas si no que hace que mi pagina no responda..Alguien me podria decir porque??Quize poner mi codigo pero no lo acepta porque es demasiado
1

1 respuesta

1
Respuesta de
Hola,
Podrias poner el código para comprobarlo?
Saludos.
function valida(registro)
{
var archivo=document.registro.cedulapdf.value;
var email = document.registro.email.value;
var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
var c1=document.registro.clave.value;
var c2=document.registro.confclave.value;
var email1=document.registro.email.value;
var espacios=false;
var cont=0;
var espa=false;
var con=0;
while(!espacios && (cont<c1.length))
{
if(c1.charAt(cont)== " ")
espacios=true;
cont++;
}
if(espacios)
{
alert("La contraseña no puede contener espacios en blanco");
return false;
}
if(c1 != c2)
{
alert("Las contraseñas no son las mismas");
return false;
}
if(registro.clave.value.length<5)
{
alert("La contraseña debe de tener minimo 6 caracteres");
return false;
}
while(!espa && (con<email1.length))
{
if(c1.charAt(con)== " ")
espa=true;
cont++;
}
if(espacios)
{
alert("El emial no debe tener espacios en blanco");
return false;
}
if(registro.email.value.length>0)
{
if (verif.exec(email) == null)
{
alert("Su email es incorrecto");
return false;
}
}
if(registro.cedulapdf.value.length>0)
{
var extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
if (extension==".pdf")
{
document.registro.submit()
}
else
{
alert('Elija un archivo del tipo PDF')
return false;
}
}
if((registro.nomusu.value.replace(/ /g,'')== '')||(registro.clave.value.replace(/ /g,'')== '')||(registro.confclave.value.replace(/ /g,'')== ''))
{
alert("Por favor introduzca los campos obligatorios");
return false;
}
if((registro.nombre.value.replace(/ /g,'')== '')||(registro.rfc.value.replace(/ /g,'')== ''))
{
alert("Por favor introduzca los campos obligatorios");
return false;
}
if((registro.rsocial.value.replace(/ /g,'')== '')||(registro.calle.value.replace(/ /g,'')== ''))
{
alert("Por favor introduzca los campos obligatorios");
return false;
}
if((registro.apaterno.value.replace(/ /g,'')== '')||(registro.curp.value.replace(/ /g,'')== '')||(registro.amaterno.value.replace(/ /g,'')== ''))
{
alert("Por favor introduzca los campos obligatorios");
return false;
}
if((registro.pais.value.replace(/ /g,'')== '')||(registro.estado.value.replace(/ /g,'')== ''))
{
alert("Por favor introduzca los campos obligatorios");
return false;
}
if((registro.cp.value.replace(/ /g,'')== '')||(registro.colonia.value.replace(/ /g,'')== '')||(registro.deleg.value.replace(/ /g,'')== ''))
{
alert("Por favor introduzca los campos obligatorios");
return false;
}
if((registro.tel1.value.replace(/ /g,'')== '')||(registro.email.value.replace(/ /g,'')== '')||(registro.cedulapdf.value.replace(/ /g,'')== ''))
{
alert("Por favor introduzca los campos obligatorios");
return false;
}
if(registro.cp.value.length<4 || (isNaN(registro.cp.value)))
{
alert("Codigo Postal incorrecto");
return false;
}
if(registro.rfc.value.length <=9 || registro.rfc.value.length <=12)
{
alert("El RFC debe contener minimo 10 caracteres y max 13");
return false;
}
if(registro.curp.value.length <=17)
{
alert("El CURP consta de 18 caracteres");
return false;
}
if((registro.tel1.value.length<=7) || (isNaN(registro.tel1.value)) )
{
alert("El telefono ingresado es incorrecto");
return false;
}
if(registro.tel2.value.length>0)
{
if((registro.tel2.value.length<=7)||(isNaN(registro.tel2.value)))
alert("Los telefonos deben contener minimo 8 caracteres");
return false;
}
if(isNaN(registro.fax.value))
{
alert("El campo Fax solo acepta numeros");
return false;
}
if((isNaN(registro.ext1.value))||(isNaN(registro.ext2.value))||(isNaN(registro.extfax.value)))
{
alert("El campo Extencion solo acepta numeros");
return false;
}
if((/[0-9]/.test(document.registro.nombre.value))||(/[0-9]/.test(document.registro.delegacion.value))||(/[0-9]/.test(document.registro.pais.value))||(/[0-9]/.test(document.registro.estado.value))||(/[0-9]/.test(document.registro.apaterno.value))||(/[0-9]/.test(document.registro.amaterno.value)))
{
alert("Hay campos que no deben contener numeros");
return false;
}
}
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<table width="826" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width = "826" align="left" background="img/img_encabezado.jpg" heigth="180"><p>
<a href="docs/index.php"><img src="img/btn_home.png" width="30" height="30" border="0"/></a></p><p> </p>
<p> </p>
<p> </p>
</td>
</tr>
<tr>
<td align="center"><h2><strong>Registro de Usuarios</strong></h2></td>
</tr>
<tr>
<td><form name="registro" method="post" action="" Onsubmit="return valida(this);">
<table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width= "155"> </td>
<td width= "200" align="right"><h4><b>Los campos con * son</b> </h4></td>
<td width= "200" align="left"><h4><b>obligatorios</b></h4></td>
<td width= "200"> </td>
</tr>
<tr>
<td align="left">Nombre de Usuario: <span class="as">*</span></td>
<td align="center" valign="middle"><input name="nomusu" type="text" id="nomusu" size="20" /><div id="msgUsuario"></div></td>
<td align="left"><input name="valida" type="image" id="txt_nom_usu" onclick="MostrarSubtipos()" src="img/btn_validausuario.png"/></td>
<td></td>
</tr>
<tr>
<td align="left">Contraseña: <span class="as">*</span></td>
<td align="center">
<input name="clave" type="password" id="clave" size="20" /></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td align="left">Confirmar: <span class="as">*</span></td>
<td align="center"><input name="confclave" type="password" id="confclave" size="20" /></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td align="left">Tipo de Persona:<span class="as">*</span></td>
<td align="left">
<select name="tipoper" size="1" id="tipoper">
<option>Seleccione...</option>
<option>FISICA</option>
<option>MORAL</option>
</select></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td align="left">Nombre(s):<span class="as">*</span> </td>
<td align="center"><input name="nombre" type="text" id="nombre" size="20" onkeyup="this.value=this.value.toUpperCase()"/></td>
<td>R.F.C.:<span class="as">*</span></td>
<td><input name="rfc" type="text" id="rfc" size="20" onkeyup="this.value=this.value.toUpperCase()"/></td>
</tr>
<tr>
<td align="left">Ap. Paterno:<span class="as">*</span></td>
<td align="center"><input name="apaterno" type="text" id="apaterno" size="20" onkeyup="this.value=this.value.toUpperCase()"/></td>
<td>C.U.R.P.:<span class="as">*</span></td>
<td><input name="curp" type="text" id="curp" size="20" onkeyup="this.value=this.value.toUpperCase()"/></td>
</tr>
<tr>
<td align="left">Ap. Materno:<span class="as">*</span></td>
<td align="center"><input name="amaterno" type="text" id="amaterno" size="20" onkeyup="this.value=this.value.toUpperCase()"/></td>
<td> </td>
<td> </td>
</tr>
</table>
<table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="175" align="left">Razón Social:<span class="as">*</span></td>
<td width="600" align="left"><input name="rsocial" type="text" id="rsocial" size="60" onkeyup="this.value=this.value.toUpperCase()"/></td>
</tr>
<tr>
<td align="left">Actividad o giro:<span class="as">*</span></td>
<td align="left"><select name="giro" size="1" id="giro">
<option selected="selected">Seleccione...</option>
</select></td>
</tr>
<tr>
<td align="center" colspan="4"><p> </p>
<h3>Dirección Fiscal</h3></td>
</tr>
</table>
<table width="808" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width= "200" align="left">Calle:<span class="as">*</span></td>
<td width= "200" align="left"><input name="calle" type="text" id="calle" size="20" onkeyup="this.value=this.value.toUpperCase()"/></td>
<td width= "200" align="left">Núm. Exterior</td>
<td width= "208" align="left"><input name="numext" type="text" id="numext" size="10" onkeyup="this.value=this.value.toUpperCase()"/></td>
</tr>
<tr>
<td align="left">Núm. Interior:</td>
<td align="left"><input name="numint" type="text" id="numint" size="10" onkeyup="this.value=this.value.toUpperCase()"/></td>
<td align="left">Código Postal:<span class="as">*</span></td>
<td align="left"><input name="cp" type="text" id="cp" size="10" /></td>
</tr>
<tr>
<td align="left">Colonia:<span class="as">*</span></td>
<td align="left"><input name="colonia" type="text" id="colonia" size="20" onkeyup="this.value=this.value.toUpperCase()"/></td>
<td align="left">Delegación ó Municipio:<span class="as">*</span></td>
<td align="left"><input name="deleg" type="text" id="deleg" size="20" onkeyup="this.value=this.value.toUpperCase()"/></td>
</tr>
<tr>
<td align="left">Estado:<span class="as">*</span></td>
<td align="left"><input name="estado" type="text" id="estado" size="20" onkeyup="this.value=this.value.toUpperCase()"/></td>
<td align="left">País:<span class="as">*</span></td>
<td align="left"><input name="pais" type="text" id="pais" size="20" onkeyup="this.value=this.value.toUpperCase()"/></td>
</tr>
<tr>
<td align="left">Teléfono 1:<span class="as">*</span></td>
<td align="left"><input name="tel1" type="text" id="tel1" size="20" /></td>
<td align="left">Extensión 1:</td>
<td align="left"><input name="ext1" type="text" id="ext1" size="20" /></td>
</tr>
<tr>
<td align="left">Teléfono 2:</td>
<td align="left"><input name="tel2" type="text" id="tel2" size="20" /></td>
<td align="left">Extensión 2:</td>
<td align="left"><input name="ext2" type="text" id="ext2" size="20" /></td>
</tr>
<tr>
<td align="left">Fax:</td>
<td align="left"><input name="fax" type="text" id="fax" size="20" /></td>
<td align="left">Extensión:</td>
<td align="left"><input name="extfax" type="text" id="extfax" size="10" /></td>
</tr>
<tr>
<td align="left">Correo_electrónico:<span class="as">*</span></td>
<td align="left"><input name="email" type="text" id="email" size="20" /></td>
<td align="left" width="200">Archivo cédula:<span class="as">*</span></td>
<td width="208" align="left"><input name="cedulapdf" type="file" id="cedulapdf" size="12" /></td>
</tr>
<tr>
<td height="36"> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="center"><label>
<input type="submit" name="btn_registro" id="btn_registro" value="Registro" />
</label></td>
<td align="center"><input type="reset" name="Reset" value="Borrar" /></td>
<td> </td>
</tr>
</table>
</form>
<p> </p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
esta es la continuacion del codigo espero me puedas ayudar
Hola, a la hora de probar tu código, me aparece un error en mi caso en la linea 176, hay una función JavaScript que no está definida, concretamente la "MostrarSubtipos()"...
<td align="left"><input name="valida" type="image" id="txt_nom_usu" onclick="MostrarSubtipos()" src="img/btn_validausuario.png"/></td>
Te recomiendo que para desarrollar sitios web, concretamente el navegador Chrome, tiene unas herramientas para desarrolladores muy buenas, y poder depurar bien tu site.
Si sigues con problemas, dime lo que sea.
Saludos.
si mira de hecho esa parte del codigo se me olvido colocarla al enviartela pero si esta al principio del codigo que te mande...Pero mi error es que prueba las validaciones una por una y si funcionan pero al colocar todo el codigo me valida una vez y cuando vuelvo a probarlo me genera un error que me dice que el script de la pagina puede causar que se alente mi pagina y se tiene que cerrar y no se porque???
Hola, me suponia que si se te quedaba sin responder tenia que ser por culpa de algún bucle mal.
en el while creo que en vez de incrementar cont, en este caso tendria que ser el con, no?
while(!espa && (con<email1.length))
{
if(c1.charAt(con)== " ")
espa=true;
cont++;
}
además si lo que quieres es comprobar si una cadena tiene espacios, puedes comprobarlo sin tener que usar bucle,así:
if(email1.indexOf(" ")==-1){
espa=false
}else{
espa=true
}
Espero que te sirva,
Saludos.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Javascript o hacer tu propia pregunta: