Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/02/2003, 12:14
Avatar de Kaopectate
Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 24 años, 10 meses
Puntos: 38
Hola Dheymer, espero que no sea demasiado tarde para la ayuda que pedías. Revisa esto por favor:


Código PHP:
<html>
 <
head>
  <
script language="JavaScript">

   var 
aMeses = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")

   function 
padNmb(nStr, nLen, sChr){
    var 
sRes = String(nStr);
    for (var 
i = 0; i < nLen - String(nStr).length; i++)
     
sRes = sChr + sRes;
    return 
sRes;
   }

   function 
makeDateFormat(nDay, nMonth, nYear){
    var 
sRes;
    
sRes = padNmb(nDay, 2, "0") + "/" + padNmb(nMonth, 2, "0") + "/" + padNmb(nYear, 4, "0");
    return 
sRes;
   }
   
   function 
addOpt(oCntrl, iPos, sTxt, sVal){
    var 
selOpcion = new Option(sTxt, sVal);
    
oCntrl.options.add(selOpcion, iPos);
   }

   function 
lastDayOfMonth(nMonth, nYear){
    var 
aMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    if ((
nMonth == 2) && (nYear % 4 == 0))
     return 
29;
    else
     return 
aMonth[nMonth - 1];
   }

   function 
cambia(nCambiado){
    var 
nAno;
    var 
nMes;
    
with (document.frm){
     
nAno = parseInt(ano.options[ano.selectedIndex].value);
     switch (
nCambiado){
      case 
0:
       
llenaMes(mes, nAno);
       break;
      case 
1:
       
nMes = parseInt(mes.options[mes.selectedIndex].value);
       
llenaDia(dia, nAno, nMes)
       break;
      case 
2:
       
nMes = parseInt(mes.options[mes.selectedIndex].value);
       
nDia = parseInt(dia.options[dia.selectedIndex].value);
       
res.value = makeDateFormat(nDia, nMes + 1, nAno);
       break;
     }
    }
   }

   function 
llenaAno(oAno){
    var 
hoy = new Date();
    var 
ini = 1960;
    
addOpt(oAno, 0, "", "");
    for (var 
i = ini; i <= hoy.getYear(); i++)
     
addOpt(oAno, i - ini + 1, String(i), String(i));
   }

   function 
llenaMes(oMes, nAno){
    var 
hoy = new Date();
    var 
nFin = 11;
    while (
oMes.length > 0) oMes.remove(0);
    if (
nAno == hoy.getYear()) nFin = hoy.getMonth();
    
addOpt(oMes, 0, "", "");
    for (var 
i = 0; i <= nFin; i++)
     
addOpt(oMes, i + 1, aMeses[i], String(i));
   }

   function 
llenaDia(oDia, nAno, nMes){
    var 
hoy = new Date();
    var 
nFin = lastDayOfMonth(nMes + 1, nAno);
    while (
oDia.length > 0) oDia.remove(0);
    if (
nAno == hoy.getYear() && nMes == hoy.getMonth()) nFin = hoy.getDate();
    
addOpt(oDia, 0, "", "");
    for (var 
i = 1; i <= nFin; i++)
     
addOpt(oDia, i + 1, String(i), String(i));
   }

  
</script>
 </head>
 <body onload=" llenaAno(document.frm.ano)">
  <form name="frm">
   <table border="0">
    <tr>
     <td align="right">
      Año: 
     </td>
     <td>
      <select name="ano" onchange="cambia(0)" style="width: 80">
      </select>
     </td>
    </tr>
    <tr>
     <td align="right">
      Mes: 
     </td>
     <td>
      <select name="mes" onchange="cambia(1)" style="width: 80">
      </select>
     </td>
    </tr>
    <tr>
     <td align="right">
      Día: 
     </td>
     <td>
      <select name="dia" onchange="cambia(2)" style="width: 80">
      </select>
     </td>
    </tr>
    <tr>
     <td align="right">
      Fecha:
     </td>
     <td>
      <input type="text" name="res" disabled>
     </td>
    </tr>
   </table>
  </form>
 </body>
</html> 
Saludos compatriota.