Hola!
Tengo un formulario en el cual he puesto unos criterios de validación. Éstos funcionan bien, pero el problema que tengo es que aunque salte la validación pasa a la siguiente página.
Qué ocurre?
| |||
Muestra validación pero pasa a la siguiente página Hola! Tengo un formulario en el cual he puesto unos criterios de validación. Éstos funcionan bien, pero el problema que tengo es que aunque salte la validación pasa a la siguiente página. Qué ocurre? |
| |||
Respuesta: Muestra validación pero pasa a la siguiente página
Código:
function validar_formulario () { //Variable que guarda los mensajes de error var mensaje_error; var mensaje; mensaje_error=" "; if (document.form1.nombre.value == "") { mensaje_error += "\n\t Nombre - Introduce tu nombre"; //document.form1.nombre.focus(); } if (document.form1.apellidos.value == "") { mensaje_error += "\n\t Apellidos - Introduce tus apellidos"; //document.form1.apellidos.focus(); } abc=document.form1.Nif.value dni=abc.substring(0,abc.length-1) let=abc.charAt(abc.length-1) if (!isNaN(let)) { mensaje_error += "\n\t Nif - Introduce la letra del Nif"; //document.form1.Nif.focus() //return false } else { cadena="TRWAGMYFPDXBNJZSQVHLCKET" posicion = dni % 23 letra = cadena.substring(posicion,posicion+1) if (letra!=let.toUpperCase()) { mensaje_error += "\n\t Nif - Introduce un NIF válido"; //document.form1.Nif.focus() //return false } } // direccion de correo electronico var er_email = /^(.+\@.+\..+)$/ if(!er_email.test(form1.correo.value)) //{if (document.form1.correo.value == "") { mensaje_error += "\n\t Email - Contenido del campo CORREO no válido."; } if (document.form1.contrasena.value == "") { mensaje_error += "\n\t Contraseña - Introduce tu CONTRASEÑA"; //document.form1.apellidos.focus(); } if (document.form1.contrasenaRep.value == "") { mensaje_error += "\n\t Repite Contraseña - Introduce otra vez tu CONTRASEÑA"; //document.form1.apellidos.focus(); } if(document.form1.contrasena.value!=document.form1.contrasenaRep.value){ mensaje_error += "\n\t Error - Las CONTRASEÑAS no coinciden"; } if(!document.form1.privacidad.checked){ mensaje_error += "\n\t Debes aceptar nuestra Política de Privacidad"; } if (mensaje_error != " "){ mensaje = "______________________________________________________________\n\n"; mensaje += "El formulario no fue enviado porque hay campos incorrectos\n"; mensaje += "Por favor corrige los campos incorrectos y vuelve a enviar el formulario.\n"; mensaje += "______________________________________________________________\n\n"; mensaje += "Los siguientes campos necesitan ser corregidos: \n"; alert(mensaje + mensaje_error + "\n\n"); return false; } return true; } |
| |||
Respuesta: Muestra validación pero pasa a la siguiente página Código HTML: <table width="775" align="center" bgcolor="#FFFF66"> <tr> <td width="82%" height="30" align="left" valign="bottom" class="tituloRegistro"><p class="tituloRegistro">ALTA DE CANDIDATOS</p></td> <td width="18%" align="right" valign="bottom" class="Estilo2"><span class="Estilo5">* Datos obligatorios </span></td> </tr> <tr> <td height="4" colspan="2" bgcolor="#FF0000"><img src="transparent-wedge.gif" alt="transparente" width="100%" height="2" /></td> </tr> <tr> <td height="30" colspan="2" class="TextoNormal"><strong>Date de alta y aprovechate de las mejores ventajas para encontrar empleo</strong></td> </tr> <tr> <td height="231" colspan="2" bgcolor="#FFFF66"><form id="form1" name="form1" method="post" action="insertar_registro2.php" onSubmit="return validar_formulario();"> <table width="770" height="206" border="0" bgcolor="#FFFF66"> <tr> <td width="284" align="right" bgcolor="#FFFF66"><span class="FuenteRegistro">Nombre<span class="Estilo6">*</span></span></td> <td width="468" bgcolor="#FFFF66"><label></label> <label for="textfield"> <input name="nombre" type="text" id="nombre" size="40" maxlength="40" /> </label></td> </tr> <tr> <td align="right" bgcolor="#FFFF66"><span class="FuenteRegistro">Apellidos<span class="Estilo6">*</span> </span></td> <td bgcolor="#FFFF66"><label for="textfield"></label> <input name="apellidos" type="text" id="apellidos" size="40" maxlength="40" /></td> </tr> <tr bgcolor="#FFFF66"> <td align="right" class="FuenteRegistro"> Nif<span class="Estilo6">*</span> <label for="radio3"></label> <label for="radio2"></label></td> <td class="FuenteRegistro"><label for="label14"></label> <input name="Nif" type="text" id="Nif" size="9" maxlength="9" /> (dni + letra) </td> </tr> <tr> <td align="right" bgcolor="#FFFF66"><span class="FuenteRegistro">Email<span class="Estilo6">*</span></span></td> <td bgcolor="#FFFF66"><label for="textfield"></label> <input name="correo" type="text" id="correo" size="50" maxlength="50" /></td> </tr> <tr> <td align="right" bgcolor="#FFFF66"><span class="FuenteRegistro">Contraseña<span class="Estilo6">*</span></span></td> <td bgcolor="#FFFF66"><label for="textfield"></label> <input name="contrasena" type="password" id="contrasena" size="10" maxlength="10" /></td> </tr> <tr> <td align="right" bgcolor="#FFFF66"><span class="FuenteRegistro">Repetir Contraseña<span class="Estilo6">*</span></span></td> <td bgcolor="#FFFF66"><label for="textfield"></label> <input name="contrasenaRep" type="password" id="contrasenaRep" size="10" maxlength="10" /></td> </tr> <tr> <td height="45" colspan="2" align="left" valign="bottom"><span class="tituloRegistro">POLÍTICA DE PRIVACIDAD </span></td> </tr> <tr> <td colspan="2" align="left" bgcolor="#FF0000"><img src="transparent-wedge.gif" width="100%" height="2" /></td> </tr> <tr> <td height="30" colspan="2" class="TextoNormal"><strong>Nota Legal </strong></td> </tr> <tr> <td colspan="2" align="left" valign="middle"><em><strong> <textarea name="notaLegal" cols="100" rows="4" id="notaLegal">Exención de responsabilidad de contenidos El uso de cookie de sesión (que no son memorizadas de forma permanente en el ordenador del usuario y desaparecen cerrando el navegador), en caso que se haga uso de ellas, únicamente se limitaran a recoger información técnica para identificar la sesión con el objeto de facilitar la exploración segura y eficiente del sitio web. </textarea> </strong></em></td> </tr> <tr> <td colspan="2" align="left" valign="middle"><span class="Estilo1"> <input name="privacidad" type="checkbox" id="privacidad" value="1" /> <span class="Estilo3"> Debes marcar esta casilla manifiestando haber leído y aceptado nuestra Política de Privacidad </span></span></td> </tr> <tr> <td height="40" colspan="2" align="center" valign="bottom"><input name="EnviarForm" type="submit" class="TextoNormal" id="EnviarForm" value="Enviar" onclick = "location='insertar_registro2.php'"/> <input name="LimpiarForm" type="reset" class="TextoNormal" id="label" value="Limpiar formulario" /></td> </tr> </table> </form> </td> </tr> </table> </html> |
| ||||
Respuesta: Muestra validación pero pasa a la siguiente página Ok vas a tener que esperar a que te traslanden al foro de javascript para que te puedan ayudar con el problema
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| |||
Respuesta: Muestra validación pero pasa a la siguiente página <?php $nombre= ucfirst($_POST['nombre']); $apellidos=ucfirst($_POST['apellidos']); $Nif=ucwords($_POST['Nif']); $correo=$_POST['correo']; $contrasena=$_POST['contrasena']; require ("conexion.php"); $sql="SELECT * FROM candidato WHERE nifCandidato='$Nif'"; $resultado_consulta=mysql_query ($sql); if (mysql_num_rows ($resultado_consulta) != 0) { $texto="Ya existe un candidato con el nif ".$Nif."."; $textoC=urlencode($texto); ?> <body onLoad="popUp('error.php?texto=<?php echo $textoC?> ' )"> <?php }else { mysql_query("INSERT INTO candidato (nombre, apellidos, nifCandidato, email, contraseña) VALUES ('$nombre', '$apellidos','$correo','$contrasena')"); include("correo_registro2.php?nombre=$nombre&corre o=$correo"); } ?> |
| ||||
Respuesta: Muestra validación pero pasa a la siguiente página Ok pero a ¿que te refieres que salta a la siguiente pagina?
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| |||
Respuesta: Muestra validación pero pasa a la siguiente página Pues a que doy a enviar, luego me sale un mensaje de error (por la validación) hasta ahí bien. Pero luego pasa a la siguiente página como si hubiera escrito bien los datos... en este caso sería insertar_registro2.php (que es el código último de php que he escrito) |
| ||||
Respuesta: Muestra validación pero pasa a la siguiente página El problema sigue siendo javascript. Solo te falta declarar en cada parte de la funcion que verifica y falla, declarar return false
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Muestra validación pero pasa a la siguiente página Te sugiero hacer un var_dump() a todas las variables
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| |||
Respuesta: Muestra validación pero pasa a la siguiente página Ya lo he hecho y me pone los datos bien (cuando les meto de forma correcta) Pero ya digo que haga lo q haga pasa a la siguiente página... |
| ||||
Respuesta: Muestra validación pero pasa a la siguiente página Ok si te refieres que pasa a la siguiente pagina, a la que hace la verificando del php, te sigo indicando que el problema es javascript. Vas a tener que ir paso a paso en el javascript, en todos los if que tengas declarado escribir return false.
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Muestra validación pero pasa a la siguiente página Dame ese ultimo ejemplo para ver que has hecho
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Muestra validación pero pasa a la siguiente página pero no acabas de indicar que hiciste uno con una sola validacion, de ahi es que quiero partir.
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| |||
Respuesta: Muestra validación pero pasa a la siguiente página
Código:
function validar_formulario () { //Variable que guarda los mensajes de error var mensaje_error; var mensaje; mensaje_error=" "; if (document.form1.nombre.value == "") { mensaje_error += "\n\t Nombre - Introduce tu nombre"; //document.form1.nombre.focus(); } if (mensaje_error != " "){ mensaje = "______________________________________________________________\n\n"; mensaje += "El formulario no fue enviado porque hay campos incorrectos\n"; mensaje += "Por favor corrige los campos incorrectos y vuelve a enviar el formulario.\n"; mensaje += "______________________________________________________________\n\n"; mensaje += "Los siguientes campos necesitan ser corregidos: \n"; alert(mensaje + mensaje_error + "\n\n"); return false; } return true; } |
| ||||
Respuesta: Muestra validación pero pasa a la siguiente página Pues lo que te estado diciendo te falta declarar en el primer if el return false. El boton y el onsubmit debe tener algo así return validar_formulario(). Tratalo y me dejas saber cuando le hayas colocado al primer if el return false
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |