Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Envalid date datePicker

Estas en el tema de Envalid date datePicker en el foro de Jquery en Foros del Web. Tengo 2 date picker: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < div id = "capaGenerarReporte" style = "padding-top:1%" >             ...
  #1 (permalink)  
Antiguo 17/12/2013, 09:01
Avatar de Maverick2786  
Fecha de Ingreso: diciembre-2012
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Envalid date datePicker

Tengo 2 date picker:
Código HTML:
Ver original
  1. <div id="capaGenerarReporte" style="padding-top:1%">
  2.                 <p style="margin-left:10.5% ;margin-top: 1%">Fecha inicio:<input type="text" id="fechaInicio"  name="fechaBitacora1"/></p>
  3.                 <p style="margin-left:35%; margin-top: -2.3%">Fecha fin:<input type="text" id="fechaFin"  name="fechaBitacora2" style="margin-left:1%"/></p>

Código Javascript:
Ver original
  1. <script>
  2.             $(function() {
  3.                 $("#fechaInicio").datepicker({dateFormat: 'dd/mm/yy'});
  4.                 $("#fechaFin").datepicker({dateFormat: 'dd/mm/yy'});
  5.             });
  6.         </script>

y en mi archivo js tengo esto:
Código Javascript:
Ver original
  1. function controlFecha()//se controla las excepciones de la fecha
  2. {
  3.     var fechaInicio = $("#fechaInicio").val();
  4.     var fechaFin = $("#fechaFin").val();
  5.    
  6.     if (fechaInicio != "" && fechaFin != "")
  7.     {
  8.         var fechaIni = new Date(Date.parse(fechaInicio));
  9.         var fechaF =  new Date(Date.parse(fechaFin));
  10.         alert("fecha fin= " + fechaF);
  11.        
  12.         var one_day = 1000 * 60 * 60 * 24;
  13.  
  14.         var diferencia = Math.ceil((fechaIni.getTime() - fechaF.getTime()) / (one_day));
  15.  
  16.         if (diferencia > 0 || isNaN(diferencia))
  17.         {
  18.             alert("La fecha Inicio no puede ser mayor que fecha fin");
  19.             document.getElementById("fechaFin").focus();
  20.             return false;
  21.         }
  22.     }
  23.     else
  24.     {
  25.         alert("Fechas no seleccionadas");
  26.         document.getElementById("fechaInicio").focus();
  27.         return false;
  28.     }
  29. }

Pero el alert que me dice fecha fin me da un mensaje de invalid date. aunque es el mismo codigo de fecha inicio, alguien sabe porque?
  #2 (permalink)  
Antiguo 17/12/2013, 10:54
Avatar de Maverick2786  
Fecha de Ingreso: diciembre-2012
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: Envalid date datePicker

por alguna razon el date.parse da problemas , esta solucion me funciono:
Código Javascript:
Ver original
  1. function controlFecha()//se controla las excepciones de la fecha
  2. {
  3.     var fechaInicio = $("#fechaInicio").val();
  4.     var fechaFin = $("#fechaFin").val();
  5.  
  6.     if (fechaInicio != "" && fechaFin != "")
  7.     {
  8.         var fechaIni = new Date(Date.parse(fentrada(fechaInicio)));
  9.         var fechaF = new Date(Date.parse(fentrada(fechaFin)));
  10.         var one_day = 1000 * 60 * 60 * 24;
  11.         var diferencia = Math.ceil((fechaIni.getTime() - fechaF.getTime()) / (one_day));
  12.        
  13.         if (diferencia > 0)
  14.         {
  15.             alert("La fecha Inicio no puede ser mayor que fecha fin");
  16.             document.getElementById("fechaFin").focus();
  17.             return false;
  18.         }
  19.     }
  20.     else
  21.     {
  22.         alert("Fechas no seleccionadas");
  23.         document.getElementById("fechaInicio").focus();
  24.         return false;
  25.     }
  26. }
  27.  
  28. function fentrada(fechaFin) {
  29.     var uno = fechaFin.substr(0,2);
  30.     var dos = fechaFin.substr(3,2);
  31.     var tres = fechaFin.substr(6,4);
  32.     var resul = tres + "/" + dos + "/" + uno;
  33.     return resul;
  34. }

Etiquetas: date, datepicker
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 13:07.