Deseo acotar que capturo las fechas de la siguiente forma predeterminada por mysql AAAA-MM-DD.
Código HTML:
// Aqui valido el formulario del nuevo articulo, no les copie todas las funciones porque son demasiadas. function Activo(){ var serialemp = document.getElementById("serialemp"); var serial = document.getElementById("serial"); var descripcion = document.getElementById("descripcion"); var proveedor = document.getElementById("proveedor"); var ubicacion = document.getElementById("ubicacion"); var area = document.getElementById("area"); var factura = document.getElementById("factura"); var fecha_adq = document.getElementById("fecha_adq"); var fecha_gar = document.getElementById("fecha_gar"); var cantidad = document.getElementById("cantidad"); var precio = document.getElementById("precio"); var estado = document.getElementById("estado"); var ci_responsable = document.getElementById("ci_responsable"); var nombre_responsable = document.getElementById("nombre_responsable"); var ci_usuario = document.getElementById("ci_usuario"); var nombre_usuario = document.getElementById("nombre_usuario"); // Chequeo cada input en el orden que me salen en el formulario if(notEmpty(serialemp, "Por favor ingrese algun serial empresarial para el activo") && isNumeric(serialemp,"Por favor ingrese sólo números para el serial empresarial")) { if(isSerialEmp(serialemp,"Por favor ingrese un serial empresarial válido, no debe tener ni más ni menos de 7 caracteres")) { if(notEmpty(serial, "Por favor ingrese el serial del artículo, en caso no tener, coloque N/A")) { if(notEmpty(descripcion, "Por favor ingrese una descripción del artículo/activo")) { if(madeSelectionProveedor(proveedor, "Por favor seleccione un proveedor")) { if(madeSelectionUbicacion(ubicacion, "Por favor seleccione una ubicación")) { if(madeSelectionArea(area, "Por favor seleccione un Area")) { if(notEmpty(factura,"Ingrese el número o código de Factura")) { if(fecha(fecha_adq,"Por favor haga clic en el cuadro de texto de Fecha de Adquisición para seleccionar una fecha")) { if(fecha(fecha_gar,"Por favor haga clic en el cuadro de texto de Fecha de Vencimiento de Garantía para seleccionar una fecha")) { // Esta es la linea donde tengo problemas mas abajo pongo la funcion. if (compare_dates(fecha_gar, fecha_adq)) { if (notEmpty(cantidad,"Por favor ingrese la cantidad del(de los) artículo(s)") && isNumeric(cantidad,"Sólo son aceptados números para la cantidad")) { if (notEmpty(precio,"Por favor ingrese el precio del(de los) artículo(s)") && isNumeric(precio,"Sólo son aceptados números para el precio, Ej: 106.45 ")) { if (madeSelectionEstado(estado, "Por favor seleccione un estado")) { if (madeSelectionResponsable(ci_responsable, "Por favor seleccione una persona Responsable")) { if (notEmpty (nombre_responsable, "Por favor seleccione una persona Responsable")) { if (madeSelectionUsuario(ci_usuario, "Por favor seleccione la persona usuario(a)")) { if (notEmpty(nombre_usuario,"Por favor seleccione la persona usuario(a)")) { return true; } } } } } } } } } } } } } } } } } } return false; } // Esta es la función function compare_dates(fecha, fecha2) { var xMonth=fecha.substring(5, 7); var xDay=fecha.substring(8, 10); var xYear=fecha.substring(0,4); var yMonth=fecha2.substring(5, 7); var yDay=fecha2.substring(8, 10); var yYear=fecha2.substring(0,4); if (xYear> yYear) { return(true) } else { if (xYear == yYear) { if (xMonth> yMonth) { return(true) } else { if (xMonth == yMonth) { if (xDay> yDay) return(true); else alert ("La fecha de Vencimiento de Garantía no puede ser menor a la fecha de Adquisición"); fecha_gar.focus(); return(false); } else alert ("La fecha de Vencimiento de Garantía no puede ser menor a la fecha de Adquisición"); fecha_gar.focus(); return(false); } } else alert ("La fecha de Vencimiento de Garantía no puede ser menor a la fecha de Adquisición"); fecha_gar.focus(); return(false); } }