Ver Mensaje Individual
  #17 (permalink)  
Antiguo 09/02/2005, 09:32
Avatar de claray
claray
 
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 20 años, 5 meses
Puntos: 0
Ok, hice unas modificaciones que permiten cambiar el numero de dias al cambiar el mes (ambos ida y venida).

<script type="text/javascript">
hoy=new Date();
num=hoy.getDate();
mes=hoy.getMonth();
meses=['enero','febrero','marzo','abril','mayo','junio',' julio','agosto','septiembre','octubre','noviembre' ,'diciembre'];
diasxMes=[31,28,31,30,31,30,31,31,30,31,30,31];

var ano = hoy.getYear();
var bisiesto = false;
if ((ano % 4) == 0) bisiesto=true;
if (bisiesto && ((ano % 100)==0)) bisiesto = false;
if (!bisiesto && ((ano % 400)==0)) bisiesto = true;
if (bisiesto) diasxMes[1] = 29;

var diaDespues = num+1;
var mesDespues = mes;
if (diaDespues>diasxMes[mes]) {mesDespues = mes+1;diaDespues=1;} //cambio
if (mesDespues > 11) mesDespues = 1; //era diciembre, pasa a enero


Mes=meses[mes];
function setmes(esteMes,esteId){
for (var i=0;i<12;i++){
opt = new Option();
opt.value = meses[i] ;
opt.text = meses[i];
if (esteMes==i) {opt.selected=true;}
document.getElementById(esteId).options[i] = opt;
}
}
function setDias(esteDia,esteMes,esteId){
while (document.getElementById(esteId).options[0]) {document.getElementById(esteId).options[0]=null;}
for (var i=1;i<=diasxMes[esteMes];i++){
opt = new Option();
opt.value = i;
opt.text = i;
if (esteDia==i) {opt.selected=true;}
document.getElementById(esteId).options[i-1] = opt;
}
}
function setSelects(){
setmes(mes,"elmes");
setmes(mesDespues,"elmes2");
setDias(num,mes,"dias");
setDias(diaDespues,mesDespues,"dias2");
}
</script>

<body onload="setSelects();">
<form name="frm">
dia ida:<select name="dias" id="dias">
</select>
<br><br>
mes ida:<select name="elmes" id="elmes" onchange="setDias(frm.dias.selectedIndex+1,this.se lectedIndex,'dias');">
</select>
<br><br>
dia regreso:<select name="dias2" id="dias2">
</select>
<br><br>
mes regreso:<select name="elmes2" id="elmes2" onchange="setDias(frm.dias2.selectedIndex+1,this.s electedIndex,'dias2');">
</select>
</form>
</body>


saludos
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan