Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/02/2012, 00:27
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Duda con input Texto y Combobox

Ese javascript lamentablemente en ie no funciona, tendrías que hacer algo más complejo. Te lo dejo en php por si te sirve
Te dejo para dia mes y año, descartá lo que no te sirva

Código PHP:
Ver original
  1. <p>
  2. <select name="dia" id="dia">
  3. <option value="">día</option>
  4. <?php for ($i = 1; $i <= 31 ; $i++) { ?>
  5. <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
  6. <?php } ?>
  7. </select>
  8. <select name="mes" id="mes">
  9. <option value="">mes</option>
  10. <?php for ($i = 1; $i <= 12 ; $i++) { ?>
  11. <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
  12. <?php } ?>
  13. </select>
  14. <select name="anio" id="anio">
  15. <option value="">año</option>
  16. <?php for ($i = 1920; $i <= 2011 ; $i++) { ?>
  17. <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
  18. <?php } ?>
  19. </select>
  20. </p>

y aqui una función para determinar si la fecha es válida

Código PHP:
Ver original
  1. function validarFecha($dia, $mes, $anio){
  2.   if ($dia<0 || $dia>31 || $mes<0 || $mes >12)
  3.     $valida=false;
  4.   else
  5.     if (($mes==4 || $mes==6 || $mes==9 || $mes==11) && $dia > 30)
  6.       $valida=false;
  7.     else
  8.       if ($mes==2 && $dia>28+bisiesto($anio))
  9.         $valida=false;
  10.        else
  11.         $valida=true;
  12.   return $valida;
  13. }
  14.  
  15. function bisiesto($anio){
  16.   if ($anio%4!=0)
  17.     $bisiesto=false;
  18.   else
  19.     if ($anio%400==0)
  20.       $bisiesto=true;
  21.     else
  22.       if ($anio%100==0)
  23.         $bisiesto=false;
  24.       else
  25.         $bisiesto=true;
  26.   return $bisiesto;
  27. }

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.