Foros del Web » Programando para Internet » Javascript »

Validar cuadro de texto antes de enviar formulario

Estas en el tema de Validar cuadro de texto antes de enviar formulario en el foro de Javascript en Foros del Web. buenas esta es facil pero yo no la se o mas bien busco la forma mas correcta como puedo validar que un cuadro type="text" este ...
  #1 (permalink)  
Antiguo 12/03/2007, 17:13
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
Validar cuadro de texto antes de enviar formulario

buenas esta es facil pero yo no la se o mas bien busco la forma mas correcta como puedo validar que un cuadro type="text" este completo y no vasio antes de enviar el formulario ,el boton que uso es type="submit"


Saludos
__________________
www.leandroascierto.com
  #2 (permalink)  
Antiguo 12/03/2007, 18:17
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: Validar cuadro de texto antes de enviar formulario

esta es una forma que me pasaron los chavales aki en el foro,

Código:
<script>
function es_valido()
{
a1 = document.form.id1.value;
a2 = document.form.id2.value;
a3 = document.form.id5.value;
if (a1=="")
  {
   alert("Introdusca el # de Deposito.");
   document.form.id1.focus();
   return 0;
   }
if (a2=="")
  {
   alert("Introdusca el Importe.");
   document.form.id2.focus();
   return 0;
}    
if (document.form.id3.selectedIndex==0)
  {
   alert("Eliga un Semestre.");
   document.form.id3.focus();
   return 0;
  }
if (document.form.id4.selectedIndex==0)
  {
   alert("Eliga un Tipo de Pago.");
   document.form.id4.focus();
   return 0;
  }
if (a3=="")
  {
    alert("Introdusca el # de Recibo.");
    document.form.id5.focus();
    return 0;
   }    
document.form.submit();
}
</script>
ese es el codigo
que va en el HEAD

y en el boton lo elijes como eso, BUTTON

Código:
<input type="button"value="Siguiente" name="siguiente" onClick="es_valido()" />

  #3 (permalink)  
Antiguo 13/03/2007, 00:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Validar cuadro de texto antes de enviar formulario

Hola:

La forma correcta de hacer validaciones de formularios es desde la propia etiqueta form, con el evento submit:

<form onsubmit="return validar(this)" method="get" action="javascript: alert('enviando')" >
<input type="text" name="texto" />
<button type="submit">enviar<button>
</form>

Y la función validar:

function validar(formulario) {
valida = formulario,texto.value != "";
if (!valida) alert("debe rellenar el campo de texto");
return valida;
}

Notas:
Es recomendable pasar a la función validadora el propio formulario (this) para que la función sea reutilizable:
el formato del evento es empezando por return seguido de la función y los parámetros si los hubiese.
La función validadora debe devolver true/false (en el ejemplo la variable valida se carga con el resultado de una comparación)

Hay más formas, como la que te han pasado, pero la buena es la que te acabo de pasar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 13/03/2007, 03:13
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
De acuerdo Re: Validar cuadro de texto antes de enviar formulario

a pues que bueno que lo dice caricatos, tratare de reformala a la manera correcta de validacion, gracias por la observacion
  #5 (permalink)  
Antiguo 13/03/2007, 03:35
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Validar cuadro de texto antes de enviar formulario

Cita:
Iniciado por Shiryu_Libra Ver Mensaje
a pues que bueno que lo dice caricatos, tratare de reformala a la manera correcta de validacion, gracias por la observacion
Si tienes algún problema no dudes en consultar... además hay muchos mensajes sobre validaciones en el foro.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 13/03/2007, 12:36
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
Re: Validar cuadro de texto antes de enviar formulario

perdonen soy principiante en javascript y me da error
estoy poniendo esto tal cual

Código:
<script>
function validar(formulario) {
valida = formulario,texto.value != "";
if (!valida) alert("debe rellenar el campo de texto");
return valida;
}
</script>

<form onsubmit="return validar(this)" method="get" action="javascript: alert('enviando')" >
<input type="text" name="texto" />
<button type="submit">enviar</button>
</form>
y me da un error
'texto' no esta definido
linea 4 caracter 1

y bien si me pueden explicar para que se usa el signo "!" define una variable de tipo boolean??
__________________
www.leandroascierto.com
  #7 (permalink)  
Antiguo 13/03/2007, 13:04
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Validar cuadro de texto antes de enviar formulario

Hola LeandroA

Has puesto una coma en lugar de un punto:

valida = formulario.texto.value != "";

Saludos,
  #8 (permalink)  
Antiguo 13/03/2007, 13:14
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: Validar cuadro de texto antes de enviar formulario

[quote=Shiryu_Libra;1926673]
Código:
<script>
function es_valido()
{
a1 = document.form.id1.value;
a2 = document.form.id2.value;
a3 = document.form.id5.value;
if (a1=="")
  {
   alert("Introdusca el # de Deposito.");
   document.form.id1.focus();
   return 0;
   }
if (a2=="")
  {
   alert("Introdusca el Importe.");
   document.form.id2.focus();
   return 0;
}    
if (document.form.id3.selectedIndex==0)
  {
   alert("Eliga un Semestre.");
   document.form.id3.focus();
   return 0;
  }
if (document.form.id4.selectedIndex==0)
  {
   alert("Eliga un Tipo de Pago.");
   document.form.id4.focus();
   return 0;
  }
if (a3=="")
  {
    alert("Introdusca el # de Recibo.");
    document.form.id5.focus();
    return 0;
   }    
document.form.submit();
}
</script>
amigos entonces este codigo seria asi:
Código:
<script>
function es_valido(formulario)

esteform=formulario
{
a1 = esteform.id1.value;
a2 = esteform.id2.value;
a3 = esteform.id5.value;
if (a1=="")
  {alert("Introdusca el # de Deposito.");
   esteform.id1.focus(); return 0;}

if (a2=="")
  {alert("Introdusca el Importe.");
   esteform.id2.focus(); return 0;}    

if (esteform.id3.selectedIndex==0)
  {alert("Eliga un Semestre.");
   esteform.id3.focus();   return 0;  }

if (esteform.id4.selectedIndex==0)
  {alert("Eliga un Tipo de Pago.");
   esteform.id4.focus();   return 0;  }
if (a3=="")
  {alert("Introdusca el # de Recibo."); esteform.id5.focus();   return 0; }    
this.submit();
}
</script>
bueno lo hice aki, no lo he probado, en un ratiyo mas lo chekare de cualquier manera, saludos

Última edición por Shiryu_Libra; 13/03/2007 a las 13:16 Razón: reestructura del mensaje
  #9 (permalink)  
Antiguo 22/03/2007, 13:58
 
Fecha de Ingreso: enero-2007
Mensajes: 8
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Validar cuadro de texto antes de enviar formulario

Hola Shiryu_Libra, sabes que kiero usar esta funcion y me sale el cartel con el error, pero me manda a la otra pag q seguiria cuando presiona el boton Aceptar(en mi caso). Lo que yo kiero es q al darme un error por un campo vacio vuelva al principio, sin mandarme a la otra pag., nose si me explico.
Kualkier kosa si no me entendes mi msn es [email protected], agregame y t comento como es.

Saludos
  #10 (permalink)  
Antiguo 22/03/2007, 14:20
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: Validar cuadro de texto antes de enviar formulario

matthi25
lo que pasa es que caricatos, me menciono que al mandar llamar la evaluacion, sea por medio del mismo form

<form method="post" action="" onsubmit="return es_valido()">
</FORM>

de esta manera, se realiza la funcion, si no cumple con las inspecciones de los inputs, en ves de regresarme TRUE, que seria enviar, me regresara FALSE, entonces se queda ahi.

cualquier duda, lo seguimos intentando para que sirva en tu codigo, te parece...
suerte
  #11 (permalink)  
Antiguo 02/04/2007, 11:31
Avatar de ludoviclaurel  
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Validar cuadro de texto antes de enviar formulario

Hola a todos!!, soy nuevo en el foro, estoy probando la validacion javascript de Caricatos, y tengo un problema no me hace la validacion porq esoy usando en vez de:

<button type="submit">enviar<button>

uso

<a href="javascript:document.form1.submit();"><img src="../images/send.jpg" border="0" /></a>

si algun alma bondadoza e puede dar una mano ...les agradesco

saludos a todos.
  #12 (permalink)  
Antiguo 02/04/2007, 15:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Validar cuadro de texto antes de enviar formulario

Hola:

Usar el método submit de un formulario "fuerza el envío", así que los chequeos deben hacerse antes (lo normal es un botón submit)... considera que si el cliente tiene javascript desactivado, jamás podrá enviar ese formulario, en cqmbio un botón puede maquillarse para que parezca un enlace y el formulario se enviaría de todos modos.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #13 (permalink)  
Antiguo 07/04/2007, 15:11
Avatar de ludoviclaurel  
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Validar cuadro de texto antes de enviar formulario

Gracias por la respuesta!, pero el problema es que mi cliente quiere un boton con la gráfica del site, no quiere el típico botón de formulario...Por supuesto que probe tu validación Caricatos y está perfecta hace justo lo que necesito, pero si pudiece hacer eso mismo con mi boton img sería lo mejor..

gracias de nuevo
  #14 (permalink)  
Antiguo 07/04/2007, 15:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Validar cuadro de texto antes de enviar formulario

Hola:

Como puse antes, un botón puede "maquillarse" para que parezca un enlace, pero si se quiere usar una imagen, se puede usar un simple input type="image", que hace las veces de submit, aunque añade a los datos que se envían las coordenadas en donde se ha pinchado (con no evaluarlas...), pero también existen las etiquetas button, que dentro puede ponerse cualquier cosa... como por ejemplo una imagen...

Tal vez quieras usar el formato que propones, pero no es nada aconsejable, ya que sin un botón del tipo submit, el que tenga javascript desactivado, jamás podrá enviar el formulario.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 10:02.