Foros del Web » Programando para Internet » Javascript »

Evitar envío cuando no valida un formulario.

Estas en el tema de Evitar envío cuando no valida un formulario. en el foro de Javascript en Foros del Web. Tengo un problema que debes ser muy sencillo pero que no doy con la solución. 1.- He creado el formulario. 2.- Tengo el js que ...
  #1 (permalink)  
Antiguo 04/07/2009, 05:35
 
Fecha de Ingreso: abril-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Evitar envío cuando no valida un formulario.

Tengo un problema que debes ser muy sencillo pero que no doy con la solución.
1.- He creado el formulario.
2.- Tengo el js que lo valida y lo hace bien.
3.- Está creada la página php donde se recogen los datos.

¿Problema? Cuando está todo validado bien. Cuando hay algo que no está validado me lo dice pero me lo envía el dichoso js.

- La solución debe ser fácil. ¿Alguna ayuda?

Saludos.
jesusmaria.
  #2 (permalink)  
Antiguo 04/07/2009, 05:41
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Evitar envío cuando no valida un formulario.

Hola !!!
Podrias poner el codigo para ver, asi te pueden ayudar....

Saludos, Ricardo !!!
__________________
Mail: [email protected]
  #3 (permalink)  
Antiguo 04/07/2009, 05:41
Avatar de Legoltaz  
Fecha de Ingreso: agosto-2008
Mensajes: 325
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Evitar envío cuando no valida un formulario.

Código JavaScript:
Ver original
  1. function validar(){
  2. //Instrucciones para validar
  3. if(error) return false;
  4. return true;
  5. }

Código HTML:
Ver original
  1. <form onSubmit="return validar()">
  2. ...
  3. </form>
  #4 (permalink)  
Antiguo 04/07/2009, 07:34
 
Fecha de Ingreso: abril-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Evitar envío cuando no valida un formulario.

Hola de nuevo.
Gracias por las respuestas.
Esta es la parte final de las funciones. No las escribo todas porque van bien y no es cuestión de saturar con texto. Pero se ve que tiene bien su return.
Código:
function total () {
if (		vldnom( document.crece.nombre) && 
		vldape( document.crece.apellidos) && 
		vldcoe( document.crece.correo)		  )    {

return true;		}
return false;		}
El html era éste:

Código HTML:
<button type="submit" name="formulariocrece"  onClick="total()"> Enviar <img src="flena3.gif" alt="Enviar Formulario"> </button> 
--> Resulta que he probado a poner "return total ()" en la función y ya me valida correctamente.

--> Entonces, pregunto, Legoltaz: Cuando tú me pones "<form onSubmit="return validar()">", ¿el onSubmit lo pones en la etiqueta del formulario o también es correcto en la del button "Enviar"?

--> ¿Alguien me puede indicar la importancia del return en la función? No lo entiendo bien puesto que la función ya tiene su return y es correcto.

Gracias por la atención.
jesusmaria

Última edición por jesusmaria; 04/07/2009 a las 07:53
  #5 (permalink)  
Antiguo 04/07/2009, 09:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Evitar envío cuando no valida un formulario.

Es mejor usar el evento onsubmit del formulario (en algunos navegadores, dependiendo de cómo se envía el formulario, puede que no se produzca el evento onclick del botón)

Se debe usar return para cancelar o no la acción del evento de acuerdo a lo devuelto por la función.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 04/07/2009, 17:24
 
Fecha de Ingreso: abril-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Evitar envío cuando no valida un formulario.

Gracias David por tus aclaraciones. Estoy estudiando estos temas al tiempo que practicando y no siempre se encuentran las aclaraciones que me das. Las anoto para no fallar, que bastante irrita a veces la programación.
Una pregunta: Si lo pongo en los dos, sería superfluo el del botón -supongo-, ¿no es eso? ¿Con el del form lo cogen todos lo navegadores y no fallo?

Gracias por la aclaración del return. Yo lo tenía puesto pero nunca actuaba. Sospechaba que faltaba algo. Gracias.
Un saludo.
jesusmaria.
  #7 (permalink)  
Antiguo 04/07/2009, 22:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Evitar envío cuando no valida un formulario.

Cita:
Iniciado por jesusmaria Ver Mensaje
Una pregunta: Si lo pongo en los dos, sería superfluo el del botón -supongo-, ¿no es eso? ¿Con el del form lo cogen todos lo navegadores y no fallo?
Así es, sería redundante colocarlo también el el botón y hasta puede ocasionar que la validación se ejecute doble.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 05/07/2009, 00:02
 
Fecha de Ingreso: abril-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Evitar envío cuando no valida un formulario.

Gracias de nuevo por tu atención y tu esfuerzo David.

Saludos y buen día.
jesusmaria.
  #9 (permalink)  
Antiguo 05/07/2009, 00:12
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Respuesta: Evitar envío cuando no valida un formulario.

Gola:

En este tuto: El abc de los formularios hay info y ejemplos para validaciones... si quieres hacerla bien y que sea accesible debe hacerse como comenta David, pero debe poderse validar también en el servidor.

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 18:01.