Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/07/2010, 07:26
Javi_Portillo
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 14 años, 4 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.