Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/11/2005, 14:56
lidmartins
 
Fecha de Ingreso: octubre-2005
Mensajes: 69
Antigüedad: 19 años
Puntos: 0
Exclamación llenado de Fechas

hola como estan...

Tengo un problemita... tengo una pagina que tiene un formulario, y uno
de los campos es fecha de alquiler.. alli.. hay una fecha desde y otra hasta, lo que quiero hacer es que se llenen esos combobox (de año, mes, y dia) tanto para "desde" como para "hasta".. esto lo estoy haciendo con javascript... pero tengo dos problemas.. uno... cuando elijo la fecha desde y voy a llenar los datos de la fecha hasta se cambia la opcion que eleji en mes y dia de la fecha desde... el otro problemita q tengo es que la fecha desde deberia ya estar seleccionada la fecha de hoy por defecto...

El codigo es:

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

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

   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 nA_o; 
    var nMes;
    var nA_o2; 
    var nMes2;	

	with (document.CMSFORM){ 
     nA_o = parseInt(a_o.options[a_o.selectedIndex].value); 
	 
     switch (nCambiado){ 
      case 0: 
       llenaMes(mes, nA_o); 
	   llenaMes(mes2, nA_o2);
       break; 
      case 1: 
       nMes = parseInt(mes.options[mes.selectedIndex].value); 
	   nMes2 = parseInt(mes2.options[mes2.selectedIndex].value); 
       llenaDia(dia, nA_o, nMes)
	   llenaDia(dia2, nA_o2, nMes2)
       break; 
      case 2: 
       nMes = parseInt(mes.options[mes.selectedIndex].value); 
       nDia = parseInt(dia.options[dia.selectedIndex].value); 
	   nMes2 = parseInt(mes2.options[mes2.selectedIndex].value); 
       nDia2 = parseInt(dia2.options[dia2.selectedIndex].value); 
	   if(aux==0) {
		   next_op();
		   aux=1;
		   nA_o2 = parseInt(a_o2.options[a_o2.selectedIndex].value); 
	   }
       break; 
     } 
    } 
   } 

	function next_op(){
		llenaA_o(document.CMSFORM.a_o2)
	}

   function llenaA_o(oA_o){ 
    var hoy = new Date(); 
    var ini = 2005; 
	
 //   addOpt(oA_o, 0, "", ""); 
    for (var i = ini; i <= hoy.getYear()+1; i++) 
     addOpt(oA_o, i - ini + 1, String(i), String(i)); 
   } 

   function llenaMes(oMes, nA_o){ 
    var hoy = new Date(); 
    var nFin = 11; 

    while (oMes.length > 0) oMes.remove(0); 
    if (nA_o == 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, nA_o, nMes){ 
    var hoy = new Date(); 
    var nFin = lastDayOfMonth(nMes + 1, nA_o); 
    while (oDia.length > 0) oDia.remove(0); 
    if (nA_o == 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="llenaA_o(document.CMSFORM.a_o)">
<form name=CMSFORM method=post>
<table width=100% border=1 align=center>
<!-- **** FECHA ***** -->
    <tr> 
		<td align=right><b>Fecha de alquiler:</b></td>
		<td>
		<table border=1>
		<tr>
			<td align="center" width=100><b>Desde: </b></td> 
			<td align="right"> Año: </td> 
			<td width=100> 
			  <select name="a_o" onchange="cambia(0)" style="width: 80"> </select> 
			</td> 
			<td align="right"> Mes: </td> 
			<td width=100> 
				<select name="mes" onchange="cambia(1)" style="width: 80"> </select> 
			</td>
			<td align="right"> Día:	</td> 
			<td width=100> 
				<select name="dia" onchange="cambia(2)" style="width: 80"> </select> 
			</td> 
		</tr>
		</table>
		</td>
    </tr> 

    <tr> 
		<td></td>
		<td>
		<table border=1>
		<tr>
			<td align="center" width=100><b>Hasta: </b></td> 
			<td align="right"> Año: </td> 
			<td width=100> 
			  <select name="a_o2" onchange="cambia(0)" style="width: 80"> </select> 
			</td> 
			<td align="right"> Mes: </td> 
			<td width=100> 
				<select name="mes2" onchange="cambia(1)" style="width: 80"> </select> 
			</td>
			<td align="right"> Día:	</td> 
			<td width=100> 
				<select name="dia2" onchange="cambia(2)" style="width: 80"> </select> 
			</td> 
		</tr>
		</table>
		</td>
    </tr> 
<!-- **** FECHA ***** -->


</table>
</body> 
</html> 
Gracias por su ayuda...
__________________
Ana Martins