Foros del Web » Programando para Internet » Javascript »

Validando formulario y mostrando mensaje

Estas en el tema de Validando formulario y mostrando mensaje en el foro de Javascript en Foros del Web. Colegas, tengo un formulario con varios campos y quisiera obligar a los usuarios a llenar el formulario entero o al menos unos cuantos como según ...
  #1 (permalink)  
Antiguo 07/04/2010, 06:29
Avatar de boy-computer  
Fecha de Ingreso: diciembre-2006
Ubicación: Cuba, Pinar del Río
Mensajes: 337
Antigüedad: 17 años, 4 meses
Puntos: 1
Validando formulario y mostrando mensaje

Colegas, tengo un formulario con varios campos y quisiera obligar a los usuarios a llenar el formulario entero o al menos unos cuantos como según sea necesario, para esto quisiera que cuando el usuario deje un campo que debe ser llenado le aparesca un mensaje en una ventanita emergente notificando de que ha dejado el campo vacio (esto debe ser antes de enviar el formulario y de este modo cuando el formulario sea enviado ya no habrá que comprobar si ha sido llenado correctamente).

¿Cómo puedo hacer para que se vaya comprobando el formulario a medida que se va llenando?
  #2 (permalink)  
Antiguo 07/04/2010, 06:56
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 19 años, 7 meses
Puntos: 13
Respuesta: Validando formulario y mostrando mensaje

Sería con Javascript no con php
http://www.google.es/search?q=jquery...ient=firefox-a
  #3 (permalink)  
Antiguo 07/04/2010, 08:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a Javascript
  #4 (permalink)  
Antiguo 07/04/2010, 14:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Validando formulario y mostrando mensaje

Hola:

No es necesario usar jquery ni otra librería para una simple validación... Un tuto sobre formularios: El abc de los formularios... básicamente las validaciones javascript son de la estructura:

<form onsubmit="return validar(this)"...

Y en la validación enviar false para la cancelación.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 09/04/2010, 18:42
Avatar de _cronos  
Fecha de Ingreso: abril-2010
Mensajes: 135
Antigüedad: 14 años
Puntos: 1
Respuesta: Validando formulario y mostrando mensaje

Con javascript, por ejemplo:

Código PHP:
<html>
 <
head><title>Formulario</title></head>
 <
body>
  <
form name="mi_formulario" action="">
  <
input type=text name=texto1 size=5>
  <
select name="misopciones">
   <
option value="opcion1"opcion1
   
<option value="opcion2"opcion2
  
</select>
  <
input type=submit onSubmit="validarenvio()" value="Enviar">
 </
form>
 </
body>
</
html
el script sería:

Código PHP:
<script>
 
funtion validarenvio(){
  
  if(
document.mi_formulario.texto1.value.length==0){
   
alert("Escribe el texto, por favor"); 
   
document.mi_formulario.texto1.focus():
   return 
0;
  }

  if(
document.mi_formulario.misopciones.selectedIndex==0){
   
alert("Escoge una opción, por favor")
   
document.mi_formulario.misopciones.focus()
   return 
0;
  }

  
document.mi_formulario.submit()
 } 
Suerte!
  #6 (permalink)  
Antiguo 10/04/2010, 00:23
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Validando formulario y mostrando mensaje

Cita:
Iniciado por _cronos Ver Mensaje
Con javascript, por ejemplo:

Código PHP:
<html>
 <
head><title>Formulario</title></head>
 <
body>
  <
form name="mi_formulario" action="">
  <
input type=text name=texto1 size=5>
  <
select name="misopciones">
   <
option value="opcion1"opcion1
   
<option value="opcion2"opcion2
  
</select>
  <
input type=submit onSubmit="validarenvio()" value="Enviar">
 </
form>
 </
body>
</
html
el script sería:

Código PHP:
<script>
 
funtion validarenvio(){
  
  if(
document.mi_formulario.texto1.value.length==0){
   
alert("Escribe el texto, por favor"); 
   
document.mi_formulario.texto1.focus():
   return 
0;
  }

  if(
document.mi_formulario.misopciones.selectedIndex==0){
   
alert("Escoge una opción, por favor")
   
document.mi_formulario.misopciones.focus()
   return 
0;
  }

  
document.mi_formulario.submit()
 } 
Suerte!

Hola otra vez:

_cronos:

Tu código no está del todo bien...

onsubmit (todas las letras minúsculas) es el manejador del evento submit y debe usarse en el tag form, y debe anteponerse la palabra return para procesar una posible cancelación si lo que recibe es false.

Cuando se usa el método submit, no es necesario usar un botón del tipo submit... o sea que si tu botón fuese del tipo button el resultado sería el mismo.

La cuestión es que tal como lo has puesto, el formulario se envía siempre, ya que usas un botón submit, y no existe el evento submit en tags que no sean "form"

Otra cosa importantísima... false y 0 son cosas distintas.

Otra cosa que siempre hay que considerar son los posibles errores, cuando se producen, se cancela la cancelación (vaya la redundancia) y el formulario se envía igual si se trata de un botón del tipo submit, así que siempre es aconsejable una doble validación (también en el servidor), además, los navegadores siempre tienen la opción de deshabilitar javascript.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 11/04/2010, 07:21
Avatar de boy-computer  
Fecha de Ingreso: diciembre-2006
Ubicación: Cuba, Pinar del Río
Mensajes: 337
Antigüedad: 17 años, 4 meses
Puntos: 1
Respuesta: Validando formulario y mostrando mensaje

gracias, a todos por su ayuda, no estoy muy ducho en javascript, pero con loque me han dado creo que me es bastante para ir empezando a aprender y el abc me va a ayudar mucho.

Gracias nuevamente.

Etiquetas: mensaje, formulario
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:48.