Foros del Web » Programando para Internet » Javascript »

No se detiene el envío del formulario

Estas en el tema de No se detiene el envío del formulario en el foro de Javascript en Foros del Web. Buenos días, Recurro ya a vosotros como mi última opción, ya que tras mucho buscar, probar y cambiar sigo sin conseguir obtener el funcionamiento que ...
  #1 (permalink)  
Antiguo 14/07/2010, 07:26
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 11 meses
Puntos: 0
No se detiene el envío del formulario

Buenos días,
Recurro ya a vosotros como mi última opción, ya que tras mucho buscar, probar y cambiar sigo sin conseguir obtener el funcionamiento que quiero.

Tengo la siguiente función Javascript para validar que una fecha sea correcta:

Código:
function validateDate(form) { 
	var year = form.year.value;
	var month = form.month.value;
	var day = form.day.value;
	var time = new Date();
	var fail = false;
	
	switch (month) {
		case "4":
			var maxDays = 30;
			break;
		case "6":
			var maxDays = 30;
			break;
		case "9":
			var maxDays = 30;
			break;
		case "11":
			var maxDays = 30;
			break;
		case "2":
			if ((year % 100 != 0) && ((year % 4 == 0) || (year % 400 == 0))) {
				var maxDays = 29;
			}
			else {
				var maxDays = 28;
			}
			break;
		default:
			var maxDays = 31;
			break;
	}
	
	if (day > maxDays) {
		alert('La fecha introducida es incorrecta');
	}
	else {
		fail = true;
	}
	
	return fail;
}
La función en sí funciona más o menos correctamente. He probado a ejecutarla con los eventos onchange del formulario y onclick del submit de tal manera que la alerta salta pero no se detiene el envío del formulario generándose correctamente un registro en la base de datos pero con la fecha a 0000-00-00.

¿A alguien se le ocurre a qué se debe tal fallo y cómo puedo solucionarlo? Muchas gracias, un saludo.
  #2 (permalink)  
Antiguo 14/07/2010, 07:41
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: No se detiene el envío del formulario

Hola, bienvenido al foro

Usa
Cita:
onsumit="return validateDate(this.form);"
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 14/07/2010, 07:46
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: No se detiene el envío del formulario

Muchas gracias Adler, por la bienvenida y por la fácil y fructífera solución ;)

Etiquetas: detiene, 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 04:02.