Foros del Web » Programando para Internet » Javascript »

consulta validación formulario

Estas en el tema de consulta validación formulario en el foro de Javascript en Foros del Web. Hola, tengo un problema con la validación de un formulario. El código java de el post http://www.forosdelweb.com/f13/faqs-...tml#post375823 anda bien pero no me envia el formulario. ...
  #1 (permalink)  
Antiguo 14/05/2008, 09:58
 
Fecha de Ingreso: mayo-2003
Ubicación: Tauranga, NZ.
Mensajes: 89
Antigüedad: 21 años, 6 meses
Puntos: 0
consulta validación formulario

Hola, tengo un problema con la validación de un formulario. El código java de el post http://www.forosdelweb.com/f13/faqs-...tml#post375823
anda bien pero no me envia el formulario. Estoy trabajando con mysql y php localmente. Les paso el codigo del formulario.
Código HTML:
<form name="ingresarUsuario" method="post" action="<? echo $_SERVER['PHP_SELF'];?> " >
					<table width="400" border="1" cellpadding="0" cellspacing="0">
					<tr>
					<td>Usuario Login</td>
					<td><input name="usuarioLogin" type="text" id="usuarioLogin" value=""> </td>
					</tr>
					<tr>
					<td>Nombre de Usuario</td>
					<td><input name="nombreUsuario" type="text" id="nombreUsuario" value=""> </td>
					</tr>
					<tr>
					<td>Apellido de Usuario</td>
					<td><input name="apellidoUsuario" type="text" id="apellidoUsuario" value=""> </td>
					</tr>					
					<tr>
					<td>Clave de Usuario</td>
					<td><input name="claveUsuario" type="password" id="claveUsuario" value=""> </td>
					</tr>
					<tr>
					<td>Perfil de Usuario</td>
					<td><input name="perfilUsuario" type="text" id="perfilUsuario" value=""> </td>
					</tr>															
					<tr>
					<td colspan="2"> <input onclick="comprobar()" type="buttom" name="submit" value="Enviar"> </td>
					</tr>
					</table>
		</form> 
el script de validación:

Código HTML:
 <script>
    function comprobar(){var mal=false;
    numero=document.forms[0].elements.length;
    for(a=0;a<numero;a++){
    if (document.forms[0].elements[a].value==""){document.forms[0].elements[a].style.backgroundColor="#ffffcc";mal=true;}
    else{document.forms[0].elements[a].style.backgroundColor="white";}
    }
    if(mal){alert("Por favor, rellene las cajas coloreadas");}
    else{document.forms[0].submit()}
    }
    
</script> 
Espero que puedan ayudarme. Gracias.
  #2 (permalink)  
Antiguo 14/05/2008, 11:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: consulta validación formulario

Tema trasladado a JavaScript.
  #3 (permalink)  
Antiguo 15/05/2008, 13:04
 
Fecha de Ingreso: mayo-2003
Ubicación: Tauranga, NZ.
Mensajes: 89
Antigüedad: 21 años, 6 meses
Puntos: 0
Re: consulta validación formulario

gracias, por el traslado, esperemos que me puedan ayudar...no me sale!
  #4 (permalink)  
Antiguo 15/05/2008, 13:38
 
Fecha de Ingreso: agosto-2007
Ubicación: Monterrey
Mensajes: 3
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: consulta validación formulario

Hola Chicos Espero que me ayuden ya que me eh estado quebrando la cabeza con este codigo, necesito validar un formulario, con los campos no tengo ningun problema el problema esta que a la hora de que dejo en blanco los campos me envia a la pagina donde tengo guardada la base de datos pero todo es por un sumbit que si se lo quito y le pongo un button no me hace absolutamente nada le anexo el codigo para que chequen que es lo que tengo mal que a de ser una pequeñez pero como soy novata espero un poco de ayuda de antemano gracias
Código HTML:
<script language="javascript">

function validar(formulario)
{
  a=0;
  if(formulario.login.value =="")
 {
  alert("Falta ingresar el Login !!"); 
  formulario.login.focus();
  a=1;
 }
  if(formulario.pass1.value =="")
 {
  alert("Falta ingresar el Password !!"); 
   if(a !=1)
    {
     formulario.pass1.focus();
    }
     a=1;
 }
 {
   a=2;
    if(formulario.pass2.value =="")
  {
    alert("Falta ingresar Comprobacion de Password!!");
    formulario.pass2.focus();
    a=3;
  }
 }
  if(formulario.nombre.value =="")
  {
   alert("Falta ingresar el Nombre !!"); 
    if(a !=3)
     {
      formulario.nombre.focus();
     }
      a=3;
}
 {
   a=4;
    if(formulario.apaterno.value =="")
  {
    alert("Falta ingresar el Apellido Paterno!!");
    formulario.apaterno.focus();
    a=5;
  }
 }
  if(formulario.amaterno.value =="")
  {
   alert("Falta ingresar el Apellido Materno !!"); 
    if(a !=5)
     {
      formulario.amaterno.focus();
     }
      a=5;
}
 { 
  if (formulario.email.value=="")
  {
  alert("Falta ingresar E-Mail !!"); 
    if(a !=6)
     {
      formulario.email.focus();
     }
      a=6;

  } 
 }
 if(a==0)
 {
  formulario.submit();
 }
}
</script> 
Código HTML:
<table width="422" border="0" cellspacing="0" cellpadding="0">
	<tr>
	<td width="360" align="left" valign="top">
    <body onload="formu.nombre.focus()">
<center>

<h2 align="center"> PASO 1: REGISTRO DE FORMULARIO </h2>
<form action="Alta_Registros.php" method="POST">
<table width="357" border="0" cellpadding="0" cellspacing="0">
  <!--DWLayoutTable-->
<tr>
 <td width="50" height="317"></td>
 <td colspan="2" valign="top">
	 <p align="right">Login(nick):
       <input type="text" name="login">
     </p> 
	 <p align="right">Password:
       <input type="password" name="pass1">
     </p>
     <p align="right" class="Estilo2"><span class="Estilo3">*Nota: Siete caracteres como mínimo; NO distingue entre mayúsculas y minúsculas</span>. </p>
     <p align="right">Repite Password:
       <input type="password" name="pass2">
     </p>
     <p align="right">Nombre(s):
       <input type="text" name="nombre">
     </p>
     <p align="right">Apellido Paterno:
       <input type="text" name="apaterno">
     </p>
     <p align="right">Apellido Materno:
       <input type="text" name="amaterno">
     </p> <p align="right">E-mail:      
       <input type="text" name="email">
     </p></td>
  <td width="50">&nbsp;</td>
</tr>
<tr>
  <td height="11"></td>
  <td width="1"></td>
  <td width="256"></td>
  <td></td>
</tr>
<tr>
  <td height="24"></td>
  <td></td>
  <td valign="top">
	<div align="center">
	  <input name="Crear" type="submit" onclick="validar(this.form)">
	  <input type="reset" value="Restablecer" name="reset">
	  </div></td>
    <td></td>
</tr>
</table>
</form>
</td>
<td width="62" align="center" valign="top"><img src="images/espacio.gif" width="5" height="5"></td>
</tr>
</table> 
  #5 (permalink)  
Antiguo 16/05/2008, 00:05
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: consulta validación formulario

Hola:

La web está plagada de códigos mal implementados, y el tuyo tiene algunas cosas mal, pero lo bueno es que parece de fácil arreglo...

Verás, el evento submit es el que debería usarse para las validaciones de los formularios, y otros eventos deberían reservarse para otras cosas como validación de controles y efectos varios, así que un esquema de validación correcto sería:
<form onsubmit="return valida(this)" ...
y un botón del tipo submit sin más
<button type="submit" >enviar</button>

Con esta estructura basta con que la función validadora devuelva el valor lógico false para que se cancele, así que en tu función validadora las últimas líneas:
Código:
 if(a==0)
 {
  formulario.submit();
 }
deberían ser
Código:
return a==0;
Me parece que bastaría ese par de cambios para que sea accesible, usable y correcto (tampoco revisé el código con lupa)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 16/05/2008, 07:59
 
Fecha de Ingreso: agosto-2007
Ubicación: Monterrey
Mensajes: 3
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: consulta validación formulario

, Caricatos, no me sirvio lo que me dijiste sigue igual con el mismo problema
  #7 (permalink)  
Antiguo 20/05/2008, 16:44
 
Fecha de Ingreso: mayo-2003
Ubicación: Tauranga, NZ.
Mensajes: 89
Antigüedad: 21 años, 6 meses
Puntos: 0
Respuesta: consulta validación formulario

por favor que alguien que revise mi primer post, estoy desesperado...Gracias
  #8 (permalink)  
Antiguo 27/05/2008, 17:18
 
Fecha de Ingreso: mayo-2003
Ubicación: Tauranga, NZ.
Mensajes: 89
Antigüedad: 21 años, 6 meses
Puntos: 0
Respuesta: consulta validación formulario

Cambie "document.forms[0]. "por el nombre de mi formulario
Ahora manda siempre el formulario... aunque salte el cartel de error, se envia con campos vacios. alguna idea?

Código HTML:
<script>
function comprobar(){
  var mal=false;
  numero=document.usuarioNuevo.elements.length;
  for(a=0;a<numero;a++){
    if (document.usuarioNuevo.elements[a].value==""){
	document.usuarioNuevo.elements[a].style.backgroundColor="#ffffcc";mal=true;}
    else{document.usuarioNuevo.elements[a].style.backgroundColor="white";}
  }
  if(mal){alert("Por favor, rellene las cajas coloreadas"); 
  }
    else{
	alert("El registro ha sido ingresado correctamente.");
	document.usuarioNuevo.submit();
	}
}
</script> 
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 04:56.