Foros del Web » Programando para Internet » Javascript »

validar q un input text tengo algo

Estas en el tema de validar q un input text tengo algo en el foro de Javascript en Foros del Web. Buenas gente... tengo un cosita simple.. El tema es asi: tengo un input text con un botoncito para aceptar, todo dentro de un formulario.. con ...
  #1 (permalink)  
Antiguo 03/09/2006, 08:55
 
Fecha de Ingreso: julio-2006
Mensajes: 81
Antigüedad: 17 años, 9 meses
Puntos: 0
validar q un input text tengo algo

Buenas gente... tengo un cosita simple.. El tema es asi: tengo un input text con un botoncito para aceptar, todo dentro de un formulario.. con el boton el usuario me manda la info.. El tema es que quiero validar para cuando el tipo me hace click en el boton estando el cuadro de texto vacio.. Osea, lo hice.. me manda un cartelito (con el alert de javascript) diciendo que no escribio nada, pero la pagina me carga igual.. Yo lo que quiero es que si hay algo en el cuadro de texto no me aparezca nada y cargue la info normalmente.. ahora si no hay nada, que me mande el cartel y NO cargue la info (osea nada).. no se si se me entiende...
  #2 (permalink)  
Antiguo 03/09/2006, 09:00
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola xandria

Un ejemplo sencillo:
Código PHP:
<html>
<
head>
<
script type="text/javascript">
function 
validar() {
  if (
document.forms[0]['txt'].value == '') {
    
alert('Escribe algo');
    return 
false;
  }
}
</script>
</head>
<body>
<form action="tupagina.php" onsubmit="return validar()">
<input type="text" name="txt" />
<input type="submit" />
</form>
</body>
</html> 
Saludos,
  #3 (permalink)  
Antiguo 03/09/2006, 09:09
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

La web está llena de tanto código malo (en programación) que probablemente hayas encontrado alguno indebido...

Verás, ñas validaciones hay que asociarlas en los eventos submit (onsubmit) y debe devolver false cuando no se valide...

Simple ejemplo:

function valida(formulario, campo) {
vale = formulario[campo].value != "";
if (!vale) alert("no valida");
return vale;
}

Y el formulario:

<form onsubmit="return valida(this, 'texto')" ...>
<input type="text" name="texto" />
<button type="submit">enviar</button>
</form>

Es muy poco código y es el más correcto (pueden existir varientes, pero te recomiendo que te fijes en este)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 03/09/2006, 09:12
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola Javi

No vi el intermitente

Me gusta saber que resolvemos estos casos de forma parecida.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 03/09/2006, 09:23
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
¡Ojo con los choques! Con este has perdido 1 punto

Cita:
Me gusta saber que resolvemos estos casos de forma parecida.
Si, debe ser porque llevamos ya mucho tiempo por estos lares.

Saludos,
  #6 (permalink)  
Antiguo 03/09/2006, 11:01
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
;)

No se porque no funciona, haber si me echais una mano

Código HTML:
<html>
  <head>
  <title>Login</title>
  <script type="text/javascript">
function balide_login(user,passwd,min)
 {
  min=parseInt(min);
  if(user.length<min || passwd.length<min)
   {
    alert("Usuaijuek eta password-ak bakotzak minimo " + min + " karaktere okinbidauz");
    var Zer=new Boolean(0);  
    return Zer;
   }
 }
  </script>
  </head>
  <body>   
<form name="formu" action="" method="post">
Izena: <input type="text" name="izena" size="16" maxlength="16" />
 Password: <input type="password" name="password" size="16" maxlength="16" />


   <input type="submit" name="Konekta" value="Konekta" onSubmit="return balide_login(document.formu.izena.value,document.formu.password.value,'4')" />
</form>
  </body>

</html> 
el var Zer=new Boolean(0); devuelve falso

Gracias!!!
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #7 (permalink)  
Antiguo 03/09/2006, 11:12
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola ZiTAL:

Por lo visto debe pasar la validación si uno de los campos la pasa (el ó lógico debido al operador "||" lo indica). Si lo que quieres es que pase cuando los 2 campos cumplan la condición deberías usar un y lógico "&&".

Yo acostumbro a poner paréntesis en las comparaciones múltiples (en alguna ocasión me dió problemas)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 03/09/2006, 14:21
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
;)

ni con parentesis en las condiciones ni con && ni nada, no funciona y no se porque, no hace ni el alert ni nada en cambio en un boton normal y con un onclick hace bien. Alguna idea?
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #9 (permalink)  
Antiguo 03/09/2006, 19:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

No me había fijado bien en el código... y es que onsubmit hay que ponerlo en el tag form... en un input no tiene sentido.

Por cierto probé en explorer lo de return Zer y no va, pero con return false si...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 04/09/2006, 01:57
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
No me habia fijado, ahora si que funciona, como tu dices no funciona con return Zer, return false y return true.

Ahora si!!!!

Muchas gracias!!!
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
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 05:37.