Foros del Web » Programando para Internet » Javascript »

fecha ano bisiesto

Estas en el tema de fecha ano bisiesto en el foro de Javascript en Foros del Web. alguno de ustedes saben como hacer un selector de fecha con 3 listas de seleccion en javascript que valide cuando el ano es bisiesto . ...
  #1 (permalink)  
Antiguo 19/04/2006, 16:34
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
fecha ano bisiesto

alguno de ustedes saben como hacer un selector de fecha con 3 listas de seleccion en javascript que valide cuando el ano es bisiesto. hasta el momento tengo esto. si selecciona el mes me salen los dias de ese mes y selecciona febrero sale siempre 28 y yo quiero que en caso que seleccione un ano bisiesto febrero salga con 29 dias ,

gracias
__________________
:aplauso: Ivomat
  #2 (permalink)  
Antiguo 20/04/2006, 04:55
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Con este pequeño truco te detecta si el año es bisiesto y actúa en consecuencia:

Código:
<html>
<head>
<title>Untitled</title>
</head>

<body>
<script>

//Detector de año bisiesto por KarlanKas

dias=[31,29,31,30,31,30,31,31,30,31,30,31]

function ponmes(esto){
if(esto.value.length==4 && !isNaN(esto.value)){
esto.form['mes'].disabled=false;
esto.form['mes'].selectedIndex=0;
esto.form['mes'].focus()
}
}
function pondias(mes){
if(mes=="*"){return false;}
if(mes==1){
dia=new Date(document.forms[0]['anio'].value,1,29);
mess=dia.getMonth();
dias[1]=(mess==1)?29:28;
}

document.forms[0]['dia'].options.length=1;

for(a=1;a<=dias[mes];a++){
document.forms[0]['dia'].options[a]=new Option(a,a);
}
document.forms[0]['dia'].disabled=false;
document.forms[0]['dia'].focus();
}
</script>

<form>
<select name="dia" disabled="disabled"><option>--</option></select><span style="font:bold 25px/25px verdana">/</span>

<select disabled="disabled" onchange="pondias(this.value)" name="mes">
<option value="*">Elija Mes</option>
<option value="0">Enero</option>
<option value="1">Febrero</option>
<option value="2">Marzo</option>
<option value="3">Abril</option>
<option value="4">Mayo</option>
<option value="5">Junio</option>
<option value="6">Julio</option>
<option value="7">Agosto</option>
<option value="8">Septiembre</option>
<option value="9">Octubre</option>
<option value="10">Noviembre</option>
<option value="11">Diciembre</option>
</select><span style="font:bold 25px/25px verdana">/</span>
<input type="text" name="anio" id="anio" size="4" maxlength="4" onkeyup="ponmes(this)" maxsize="4" />
</form>

</body>
</html>
Esta vez no he empleado la variable pepe... me estoy haciendo viejo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 20/04/2006 a las 05:04
  #3 (permalink)  
Antiguo 20/04/2006, 11:19
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
yo quiero que sea una lista de seleccion del ano,
cambie el input que tienes por esto pero ya no funciona debe ser al llamar a la funcion ponmes(this) hay no se que parametro es el que se pone , si es este el error ???

<SELECT ID="FormsComboBox13" NAME="anio" class="campos" onChange="ponmes(this)">
<?
$p_ano_actual = date("Y");
$i=$p_ano_actual - 150;
while ($i <= $p_ano_actual) {
?>
<OPTION VALUE="<?echo "$i"?>" <?if ($i == $p_ano_actual) { echo "SELECTED"; }?>><?echo "$i"?></OPTION>
<?
++$i;
}
?>
<SELECT>
__________________
:aplauso: Ivomat
  #4 (permalink)  
Antiguo 21/04/2006, 13:50
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
como hago para modificarlo el codigo para que el ano sea una lista de seleccion y no un input.

Gracias
__________________
:aplauso: Ivomat
  #5 (permalink)  
Antiguo 23/03/2009, 10:14
 
Fecha de Ingreso: febrero-2007
Mensajes: 32
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: fecha ano bisiesto

Esto es viejo, pero me sirvió. dejo el codigo que funciona bien con el año en select:

<SELECT ID="anio" NAME="anio" class="campos" onChange="ponmes(this)">
<?php
$p_ano_actual = date("Y");
$i=$p_ano_actual - 120;
while ($i <= $p_ano_actual) {
?>
<OPTION VALUE="<?php echo $i;?>" <?php if ($i == $p_ano_actual) { echo "SELECTED"; }?>><?php echo $i;?></OPTION>
<?php
++$i;
}
?>
</SELECT>


Por las dudas, aviso que deben borrar el campo input del anio para que funcione.
  #6 (permalink)  
Antiguo 23/03/2009, 11:29
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: fecha ano bisiesto

El mensaje original es de hace casi 2 años. Por favor, no reviváis temas tan antiguos.

Saludos,
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 18:43.