Foros del Web » Programando para Internet » Javascript »

Formulario no funciona

Estas en el tema de Formulario no funciona en el foro de Javascript en Foros del Web. Hola amigos. Me dirian que parte esta mal en este script? No puedo saber porque no funcionan los alert... Tengo javascipt activado..y probe un alert ...
  #1 (permalink)  
Antiguo 31/01/2010, 19:05
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 1 mes
Puntos: 1
Formulario no funciona

Hola amigos.

Me dirian que parte esta mal en este script?

No puedo saber porque no funcionan los alert...
Tengo javascipt activado..y probe un alert aparte sin ninguna otra line ade codigo y funciono.

Creo que estoy llamando mal a la funcion o algo.

Pero uds me diran.


Código HTML:
Ver original
  1. <script type="text/javascript">
  2.  
  3. function formCheck(){
  4.     var ok=true;
  5.     if (document.formulario.nombre.value==""){     
  6.         ok=false;
  7.         alert("Falta Nombre");
  8.     }
  9.    
  10.     if ((document.formulario.email.value=="")&& (ok)){
  11.         ok=false;
  12.         alert("Falta email");
  13.     }
  14.     if ((document.formulario.asunto.value=="")&& (ok)){
  15.         ok=false;
  16.         alert("Falta Asunto");
  17.     }
  18.     if ((document.formulario.texto.value=="")and (ok)){
  19.         ok=false;
  20.         alert("Falta Mensaje");
  21.     }
  22.    
  23.     if (ok){
  24.         document.formulario.submit();
  25.     }
  26.  
  27. }
  28.  
  29.     </script>
  30.                        
  31. <form name="formulario"  action="envio.php" method="POST" onSubmit="javascript:formCheck();">
  32.     <input type="text" name="nombre" size="30"><br><br>
  33.     <input type="text" name="email" size="30" ><br><br>
  34.     <input type="text" name="asunto" size="30"><br><br>
  35.     <textarea name="texto" rows="7" cols="30"></textarea><br><br>
  36. <input type="submit" value="Enviar" name="enviar" >                
  37. </form>

Lo unico que quiero es que me funcione el javascript para que no se envien campos vacios.

Espero su respuesta!.

Saludos!
  #2 (permalink)  
Antiguo 31/01/2010, 19:24
Avatar de ClubIce  
Fecha de Ingreso: diciembre-2008
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Formulario no funciona

ya esta corregido:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.  
  3. function formCheck(){
  4.     var ok=true;
  5.     if (document.formulario.nombre.value==""){      
  6.         ok=false;
  7.         alert("Falta Nombre");
  8.     }
  9.    
  10.     if ((document.formulario.email.value=="")&& (ok)){
  11.         ok=false;
  12.         alert("Falta email");
  13.     }
  14.     if ((document.formulario.asunto.value=="")&& (ok)){
  15.         ok=false;
  16.         alert("Falta Asunto");
  17.     }
  18.     if ((document.formulario.texto.value=="")&& (ok)){
  19.         ok=false;
  20.         alert("Falta Mensaje");
  21.     }
  22.    
  23.     if (ok){
  24.         document.formulario.submit();
  25.     }
  26.  
  27. }
  28.  
  29.     </script>
  30.                        
  31. <form name="formulario"  action="envio.php" method="POST">
  32.     <input type="text" name="nombre" size="30"><br><br>
  33.     <input type="text" name="email" size="30" ><br><br>
  34.     <input type="text" name="asunto" size="30"><br><br>
  35.     <textarea name="texto" rows="7" cols="30"></textarea><br><br>
  36. <input type="button" value="Enviar" name="enviar" OnClick="formCheck()">                
  37. </form>

1º) no se usa and se usa && (linea #18)
2º) la llamada a la funcion de validacion se debe colorcar en el OnClick del boton de enviar por que aunque el formulario no sea valido se enviara.

PD: para hacer scripts te recomindo que veas la consola de errores (de Firefox y Opera) asi puedes corregir errores tan simples como este

Última edición por ClubIce; 31/01/2010 a las 19:32
  #3 (permalink)  
Antiguo 31/01/2010, 22:36
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Formulario no funciona

Gracias ClubIce.

No me di cuenta de ese and. Me olvide de editarlo.

Pero Gracias por las explicaciones y el codigo,

Saludos!
  #4 (permalink)  
Antiguo 01/02/2010, 00:54
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: Formulario no funciona

¡No, no!

La estructura de una validación javascript debe ser así:

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

... y el envío con un botón submit sin más...
<button type="submit">enviar formulario</button>

Luego en la validación:

function validar(f) {
// pasando el formulario como parámetro, se accede a los elementos por su nombre...
vale = f.dato.value != "";
// luego para la cancelación, solo basta con devolver false
// en el ejemplo en la variable vale, si está vacío...
return vale;
}

Si se usa el método submit(), no se enviará nunca si se tiene desactivado javascript desactivado...

Y si quieres hacer una validación buena... también debe hacerse en el servidor.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: 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 20:40.