Hola. foreros gracias por leer mi nota, tengo un formulario donde debo ingresar una fecha de adquisicion y una fecha de vencimiento de garantia del articulo, consegui un script por internet pero no me funciona, no se si ustedes podrian ayudarme, aca se los dejo:
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);
}
}