JavaScript - Ayuda con formulario javascript

   
Vista:

Ayuda con formulario javascript

Publicado por djzzz (5 intervenciones) el 05/12/2015 18:16:55
Tengo un problemilla con el siguiente código js, el formulario se envía independientemente de las funciones, y por más que miro, depuro y demás no cambia.. No quiero hacerle con eventos en el HTML, sino dejar por separado ambos códigos. SI me pudiéseis ayudar a ver dónde está el error os estaría muy agradecido de veras

NOTA: el formilario, en el action de la etiqueta <form> se dirige a otra página diferente. Os incluyo los archivos en un adjunto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jordi

Ayuda con formulario javascript

Publicado por Jordi (75 intervenciones) el 05/12/2015 18:25:57
El problema es que tu botón es de tipo submit (type = "submit"), con lo que aunque hagas un return false, la acción de submit se sigue ejecutando. Para evitarlo, debes hacer un preventDefault.

Debes editar tu listener de tipo "click" y pasarle en una función de callback lo que ahora es tu función enviarFormulario(). Es decir:

1
2
3
4
5
6
7
8
function iniciar() {
	document.getElementById("enviar").addEventListener('click', function(e) {
		e.preventDefault();
		if (validaEdad()){
			formulario.submit();
		}
	});
}}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con formulario javascript

Publicado por djzzz (5 intervenciones) el 06/12/2015 14:52:00
Gracias por la ayuda, de veras que me sirvió. Pero de todas formas, no es más fácil cambiar directamente el tipo de botón que prevenir la acción por defecto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jordi

Ayuda con formulario javascript

Publicado por Jordi (75 intervenciones) el 07/12/2015 00:53:08
Sí, se le puede quitar el type = "submit" y dejar el evento onClick, funcionaría igual. Hay muchas formas de hacer ese tipo de cosas.

Me alegro de que te haya servido ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar