• Domingo 22 de Diciembre de 2024, 14:50

Autor Tema:  Manejar Fechas Del Lado Del Cliente  (Leído 1214 veces)

SpongeCode

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Manejar Fechas Del Lado Del Cliente
« en: Miércoles 18 de Junio de 2008, 21:25 »
0
La cosa es asi, tengo un archivo con el siguiente codigo:
Código: Text
  1.  
  2. <html>
  3. <head>
  4.     <title>Untitled Page</title>
  5.     <script type="text/javascript">
  6.       function ModificarFecha(Campo){
  7.       var Dia = (document.all('txtDia'))
  8.       var Mes = (document.all('txtMes'))
  9.       var Año = (document.all('txtAño'))
  10.       var Fecha = new Date(Año.value, Mes.value - 1, Dia.value)
  11.       if (event.keyCode== 38){
  12.       if (Campo == 'Dia'){
  13.         Fecha.setDate(Fecha.getDate() + 1);
  14.       }
  15.       else if (Campo == 'Mes'){
  16.         Fecha.setMonth(Fecha.getMonth() + 1);
  17.       }
  18.       else if (Campo == 'Año'){
  19.         Fecha.setFullYear(Fecha.getFullYear() + 1);
  20.       }
  21.       }
  22.       else if (event.keyCode== 40){
  23.       if (Campo == 'Dia'){
  24.         Fecha.setDate(Fecha.getDate() - 1);
  25.       }
  26.       else if (Campo == 'Mes'){
  27.         Fecha.setMonth(Fecha.getMonth() - 1);
  28.       }
  29.       else if (Campo == 'Año'){
  30.         Fecha.setFullYear(Fecha.getFullYear() - 1);
  31.       }
  32.       }
  33.       Dia.value = Fecha.getDate();
  34.       Mes.value = Fecha.getMonth() + 1;
  35.       Año.value = Fecha.getFullYear();
  36.       }
  37.     </script>
  38. </head>
  39. <body>    
  40.  <div>
  41.       <table style="width: 100%;">
  42.         <tr>
  43.           <td>
  44.             Dia:
  45.           </td>
  46.           <td>
  47.             <input name="txtDia" type="text" value="17" id="txtDia" onKeyDown="return ModificarFecha('Dia');" />
  48.           </td>
  49.         </tr>
  50.         <tr>
  51.           <td>
  52.             Mes:
  53.           </td>
  54.           <td>
  55.             <input name="txtMes" type="text" value="6" id="txtMes" onKeyDown="return ModificarFecha('Mes');" />
  56.           </td>
  57.         </tr>
  58.         <tr>
  59.           <td>
  60.             Año:
  61.           </td>
  62.           <td>
  63.             <input name="txtAño" type="text" value="2008" id="txtAño" onKeyDown="return ModificarFecha('Año');" />
  64.           </td>
  65.         </tr>
  66.       </table>  
  67.      
  68.     </div></body>
  69. </html>
  70.  
  71.  
  72.  

Se supone que estando parado en una de las cajas de texto, si presiono las flechas arriba o abajo, el contenido de la caja se incrementa o decrementa segun sea el caso, hasta ahi todo bien.
El asunto es cuando llego al 27/12/2008 por ejemplo y presiono la tecla flecha arriba, se queda estancado.
Esto se repite con otras fechas.
Lo que necesito saber es:
¿Por que pasa esto? y ¿Como lo corrijo?
Desde ya muchas gracias.

Javier Santamaria

  • Miembro MUY activo
  • ***
  • Mensajes: 142
    • Ver Perfil
Re: Manejar Fechas Del Lado Del Cliente
« Respuesta #1 en: Lunes 23 de Junio de 2008, 18:16 »
0
Pues la verdad si que es raro. Comprueba debugeando o con alerts a ver que valores tienen las variables.