Foros del Web » Programando para Internet » Javascript »

llenado de Fechas

Estas en el tema de llenado de Fechas en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 18/11/2005, 14:56
 
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
  #2 (permalink)  
Antiguo 19/11/2005, 03:56
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años, 6 meses
Puntos: 25
Hola.

www.carlitos.com.es -> Fechas -> Cálculo de días o Cálculo de fechas.


A ver si te sirve cualquiera de esos dos códigos.

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 18:35.