Foros del Web » Programando para Internet » Javascript »

30, 31 o 28 dias, depende el mes

Estas en el tema de 30, 31 o 28 dias, depende el mes en el foro de Javascript en Foros del Web. Alguna posiblidad de mediante un drop menu cuando se seccione el mes de febrero solo aparezcan 28 dias,o mejor dicho cuando sean los meses de ...
  #1 (permalink)  
Antiguo 18/01/2007, 07:17
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 11 meses
Puntos: 0
30, 31 o 28 dias, depende el mes

Alguna posiblidad de mediante un drop menu cuando se seccione el mes de febrero solo aparezcan 28 dias,o mejor dicho cuando sean los meses de 30 dias solo aparezcan 30 dias en la opcion de menu y no 31, pense hacerlo mediante una base de datos con un ID para cada uno, pero es digitar mucho, algo asi como los combos Pais, Provincia, Ciudad....



Alguna idea. o por lo menos meter todos los de 30 es un array y asi los de 31 tambien, dejando febrero en los de 30 o en 28...Me ayudan?


PS: Este lo tenia posteado en PHP y me enviaron aqui
__________________
Tengo una duda...
  #2 (permalink)  
Antiguo 18/01/2007, 07:51
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: 30, 31 o 28 dias, depende el mes

mira si esto es lo que necesitas


function esBisiesto(año){
return ((año % 4 == 0) && (año % 100 != 0)) || (año % 400 == 0);
}
function diasDelMes(mes, año){
//esta funcion retorna los dias del mes
var diasMes = { 31,//enero
28,//febrero
31,//marzo
30,//abril
31,//mayo
30,//junio
31,//julio
31,//agosto
30,//septiembre
31,//octubre
30,//noviembre
31/*diciembre*/}
//si el año es bisiesto y el mes es febrero retornar 29
if (mes==2 && this.esBisiesto(año))
return 29;
else
//retornar los dias del mes
return diasMes[mes - 1];
}
  #3 (permalink)  
Antiguo 18/01/2007, 08:14
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: 30, 31 o 28 dias, depende el mes

hmmm, me parece interesante, pero lo copio y le doy los valoresen el dorp menu?
__________________
Tengo una duda...
  #4 (permalink)  
Antiguo 18/01/2007, 12:15
Avatar de Hylia  
Fecha de Ingreso: julio-2006
Ubicación: Ensenada Baja California
Mensajes: 2
Antigüedad: 17 años, 9 meses
Puntos: 0
Sonrisa Re: 30, 31 o 28 dias, depende el mes

mmm tengo este codigo, espero te sirva

FuncionesJavascript

<script>
function fe_mes(d) //para las fechas
{
if (document.forma.Mes.value>0)
{
timeA = new Date(document.forma.Año.value,document.forma.Mes.v alue,1);
timeDifference = timeA - 86400000;
timeB = new Date(timeDifference);
var daysInMonth = timeB.getDate();
document.forma.Dia.length=1;
for (var i = 0; i < daysInMonth; i++)
{
document.forma.Dia.options[i+1] = new Option(i+1);
}
if (d>0)
document.forma.Dia.selectedIndex=d;
}
else
document.forma.Dia.length=1;
}
</script>

Forma para la prueba

<form name="forma" action="" method="post">
<table border="1">
<tr>
<td>Fecha:</td>
<td>
<? list($a,$m,$d)=split("-",date("Y-m-d")); ?>

<select name="Dia" id="Dia">
<option value="0" selected="selected">Dia</option>
</select>

<select name="Mes" onChange="fe_mes(0)" id="Mes">
<option value="0" selected="selected">Mes</option>
<option value=1 <? if ($m==1) echo "selected"?>>Enero</option>
<option value=2 <? if ($m==2) echo "selected"?>>Febrero</option>
<option value=3 <? if ($m==3) echo "selected"?>>Marzo</option>
<option value=4 <? if ($m==4) echo "selected"?>>Abril</option>
<option value=5 <? if ($m==5) echo "selected"?>>Mayo</option>
<option value=6 <? if ($m==6) echo "selected"?>>Junio</option>
<option value=7 <? if ($m==7) echo "selected"?>>Julio</option>
<option value=8 <? if ($m==8) echo "selected"?>>Agosto</option>
<option value=9 <? if ($m==9) echo "selected"?>>Septiembre</option>
<option value=10 <? if ($m==10) echo "selected"?>>Octubre</option>
<option value=11 <? if ($m==11) echo "selected"?>>Noviembre</option>
<option value=12 <? if ($m==12) echo "selected"?>>Diciembre</option>
</select>

<select name="Año" id="Año" onChange="fe_mes(0)">
<option value="0">Año</option>
<?
for ($i=2000;$i<=$a;$i++)
{ ?> <option value="<? echo $i;?>" <? if($i==$a) {echo "selected='selected'";} ?>><? echo $i;?></option><? }
?>
</select>
<script>fe_mes(<? echo $d?>)</script>
</td>
</tr>
</table>
</form>

Ya nada mas hechale un poco de imaginacion para hacer lo que necesitas
  #5 (permalink)  
Antiguo 19/01/2007, 20:41
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: 30, 31 o 28 dias, depende el mes

pero ese formulario no da los dias solo los meses.
__________________
Tengo una duda...
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 19:16.