Foros del Web » Programando para Internet » Javascript »

Muestra validación pero pasa a la siguiente página

Estas en el tema de Muestra validación pero pasa a la siguiente página en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 03/09/2009, 11:48
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
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?
  #2 (permalink)  
Antiguo 03/09/2009, 12:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Muestra validación pero pasa a la siguiente página

Podrias postear lo 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
  #3 (permalink)  
Antiguo 03/09/2009, 12:17
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
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;
	
}
  #4 (permalink)  
Antiguo 03/09/2009, 12:18
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
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&ntilde;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&ntilde;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&Iacute;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&iacute;do y aceptado nuestra Pol&iacute;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> 
  #5 (permalink)  
Antiguo 03/09/2009, 12:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
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
  #6 (permalink)  
Antiguo 03/09/2009, 12:19
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
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");

}
?>
  #7 (permalink)  
Antiguo 03/09/2009, 12:20
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Muestra validación pero pasa a la siguiente página

Pero si la validación sí que me la muestra...
  #8 (permalink)  
Antiguo 03/09/2009, 12:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
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
  #9 (permalink)  
Antiguo 03/09/2009, 12:26
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
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)
  #10 (permalink)  
Antiguo 03/09/2009, 12:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
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
  #11 (permalink)  
Antiguo 03/09/2009, 12:37
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Muestra validación pero pasa a la siguiente página

Pero es que aunque introduzca bien los datos tampoco me los inserta...
  #12 (permalink)  
Antiguo 03/09/2009, 12:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Muestra validación pero pasa a la siguiente página

Te sugiero hacer un var_dump() a todas las variables
Código php:
Ver original
  1. $nombre= ucfirst($_POST['nombre']);
  2. $apellidos=ucfirst($_POST['apellidos']);
  3. $Nif=ucwords($_POST['Nif']);
  4. $correo=$_POST['correo'];
  5. $contrasena=$_POST['contrasena'];
  6.  
  7. var_dump($nombre);
  8. var_dump($apellidos);
  9. var_dump(Nif);
  10. var_dump($correo);
  11. var_dump($contrasena);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 03/09/2009, 12:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
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...
  #14 (permalink)  
Antiguo 03/09/2009, 12:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Muestra validación pero pasa a la siguiente página

Tema trasladado desde PHP
  #15 (permalink)  
Antiguo 03/09/2009, 12:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
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
  #16 (permalink)  
Antiguo 08/09/2009, 09:04
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Muestra validación pero pasa a la siguiente página

He intentado poner solo una validación y me pasa lo mismo.

No encuentro el error
  #17 (permalink)  
Antiguo 08/09/2009, 10:20
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
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
  #18 (permalink)  
Antiguo 08/09/2009, 11:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Muestra validación pero pasa a la siguiente página

Tengo todo el código puesto en el foro
  #19 (permalink)  
Antiguo 08/09/2009, 11:51
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
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
  #20 (permalink)  
Antiguo 08/09/2009, 11:53
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
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;
	
}
  #21 (permalink)  
Antiguo 09/09/2009, 05:58
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:56.