Foros del Web » Programando para Internet » Javascript »

Pasar variables para comparar fechas.

Estas en el tema de Pasar variables para comparar fechas. en el foro de Javascript en Foros del Web. Hola, tengo un formulario con 2 campos de fecha del tipo dd/mm/aaaa y quiero compararlas, que fecha de inicio sea menor o igual a fecha ...
  #1 (permalink)  
Antiguo 17/01/2011, 08:21
 
Fecha de Ingreso: julio-2009
Ubicación: Montevideo, UY
Mensajes: 129
Antigüedad: 15 años, 4 meses
Puntos: 1
Pregunta Pasar variables para comparar fechas.

Hola, tengo un formulario con 2 campos de fecha del tipo dd/mm/aaaa y quiero compararlas, que fecha de inicio sea menor o igual a fecha de fin.
Mi pregunta es como pasar el valor de los 2 campos del formulario a javascript para que haga la comparacion.
La idea es hacer que en el campo del formulario de la fecha fin, al hacer onfocus, corra la función:

Código Javascript:
Ver original
  1. <script type="text/javascript">    
  2.     function compare_dates(fecha, fecha2){
  3.     var xMonth=fecha.substring(3, 5);  
  4.         var xDay=fecha.substring(0, 2);  
  5.         var xYear=fecha.substring(6,10);  
  6.         var yMonth=fecha2.substring(3, 5);  
  7.         var yDay=fecha2.substring(0, 2);  
  8.         var yYear=fecha2.substring(6,10);  
  9.         if (xYear> yYear){  
  10.             return(true)  
  11.         }  
  12.         else {  
  13.             if (xYear == yYear) {  
  14.                 if (xMonth> yMonth) {  
  15.                     return(true)  
  16.                 }  
  17.                 else{  
  18.                     if (xMonth == yMonth)  
  19.                 {  
  20.              if (xDay> yDay)  
  21.                return(true);  
  22.              else  
  23.                return(false);  
  24.            }  
  25.            else  
  26.              return(false);  
  27.          }  
  28.        }  
  29.        else  
  30.          return(false);  
  31.      }  
  32.  }  
  33. </script>
  34.  
  35.  
  36. <script type="text/javascript">
  37.     if (compare_dates(fecha1, fecha2)){  
  38.        alert("fecha1 es mayor a fecha2");  
  39.      }else{  
  40.        alert("fecha1 es menor a fecha2");  
  41.      }
  42. </script>

y el formulario de la pagina HTML seria el siguiente:

Código HTML:
Ver original
  1. Formato fecha 1:<input type="text" id="fecha_1" name="fecha_1" title="fecha_1" /><br /><br />  
  2.     Formato fecha 2:<input type="text" id="fecha_2" name="fecha_2" title="fecha_2" onblur="compara_fechas()" />


Muchas gracias!
  #2 (permalink)  
Antiguo 17/01/2011, 08:37
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Pasar variables para comparar fechas.

usa el objeto Date() junto con el método getMilliseconds()
  #3 (permalink)  
Antiguo 17/01/2011, 10:21
 
Fecha de Ingreso: julio-2009
Ubicación: Montevideo, UY
Mensajes: 129
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Pasar variables para comparar fechas.

Gracias Isabel, pero el tema es el siguiente. No se como pasar el contenido del campo de fecha_1 para que lo compare con el contenido de fecha_2.
fecha_2 se que lo puedo pasar en el onfocus="compara_fechas(this)", pero el valor del campo fecha_1 como se pasa a js para que haga la comparación en la funcion compara_fechas()????
  #4 (permalink)  
Antiguo 17/01/2011, 14:02
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Pasar variables para comparar fechas.

puedes hacerlo de varias maneras. como acabo de hacer algo por el estilo, esta es la que he realizado
Cita:
function compare_dates(f){
fch1 = f.elements[0].value;
fch2 = f.elements[1].value;
alert(fch1 + ' ' + fch2)

     }


Formato fecha 1:<input type="text" id="fecha_1" name="fecha_1" title="fecha_1" /><br /><br />  
    Formato fecha 2:<input type="text" id="fecha_2" name="fecha_2" title="fecha_2" onblur="compara_fechas(this.form)" />

Etiquetas: comparar, fechas, pasar, variables
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:30.