Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2007, 16:01
Avatar de kaninox
kaninox
 
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 19 años, 4 meses
Puntos: 49
problema fecha

Holas pues tengo mi formulario en el cual tengo fechas de ingreso y retiro el script me funciona bien solo tiene un error y es cuando fecha ingreso es 31 de marzo como hoy y la de retiro deberia ser 1 de abril pues me cambia el dia bien pero no el mes alguna sugerencia es solo como hago dentro de mi script que sepa que cuando la fecha de retiro el dia es = a 1 el mes aumente tambien ??? la idea la tengo pero no se implementarlo :P por que no me manejo mucho en javascript

mi codigo

Código:
<!-- Ingreso de fechas -->
  <script language="JavaScript" type="text/javascript">
  
    ahora          = new Date();
    ahoraDay    = ahora.getDate();
    ahoraMonth = ahora.getMonth();
    ahoraYear   = ahora.getYear();


 if (ahoraYear < 2000) 
        ahoraYear += 1900;

 
    function cuantosDias(mes, anyo)
    {
        var cuantosDias = 31;
        if (mes == "Abril" || mes == "Junio" || mes == "Septiembre" || mes == "Noviembre")
      cuantosDias = 30;
        if (mes == "Febrero" && (anyo/4) != Math.floor(anyo/4))
      cuantosDias = 28;
        if (mes == "Febrero" && (anyo/4) == Math.floor(anyo/4))
      cuantosDias = 29;
        return cuantosDias;
    }

 
    function asignaDias()
    {
        comboDias = document.formFecha.seleccionaDia;
        comboMeses = document.formFecha.seleccionaMes;
        comboAnyos = document.formFecha.seleccionaAnyo;

        Month = comboMeses[comboMeses.selectedIndex].text;
        Year = comboAnyos[comboAnyos.selectedIndex].text;

        diasEnMes = cuantosDias(Month, Year);
        diasAhora = comboDias.length;

        if (diasAhora > diasEnMes)
        {
            for (i=0; i<(diasAhora-diasEnMes); i++)
            {
                comboDias.options[comboDias.options.length - 1] = null
            }
        }
        if (diasEnMes > diasAhora)
        {
            for (i=0; i<(diasEnMes-diasAhora); i++)
            {
                sumaOpcion = new Option(comboDias.options.length + 1);
                comboDias.options[comboDias.options.length]=sumaOpcion;
            }
        }
        if (comboDias.selectedIndex < 0) 
          comboDias.selectedIndex = 0;
     }


    function ponDia()
    {
        comboDias = eval("document.formFecha.seleccionaDia");
        comboMeses = eval("document.formFecha.seleccionaMes");
        comboAnyos = eval("document.formFecha.seleccionaAnyo");

        comboAnyos[0].selected = true;
        comboMeses[ahoraMonth].selected = true;
  
        asignaDias();

        comboDias[ahoraDay-1].selected = true;
    }

 
    function rellenaAnyos(masAnyos)
    {
        cadena = "";

        for (i=0; i<masAnyos; i++)
        {
            cadena += "<option>";
            cadena += ahoraYear + i;
        }
        return cadena;
    }
  </script>
<!-- fechas de retiro -->
<script language="JavaScript" type="text/javascript">
  
    now          = new Date();
    nowDay    = now.getDate();
    nowMonth = now.getMonth();
    nowYear   = now.getYear();


 if (nowYear < 2000) 
        nowYear += 1900;

 
    function cdias(mes, anyo)
    {
        var cdias = 31;
        if (mes == "Abril" || mes == "Junio" || mes == "Septiembre" || mes == "Noviembre")
      cdias = 30;
        if (mes == "Febrero" && (anyo/4) != Math.floor(anyo/4))
      cdias = 28;
        if (mes == "Febrero" && (anyo/4) == Math.floor(anyo/4))
      cdias = 29;
        return cdias;
    }


    function asigdias()
    {
        comdias = document.formFecha.findia;
        commeses = document.formFecha.finmes;
        comanyos = document.formFecha.finanyo;

        Month = commeses[commeses.selectedIndex].text;
        Year = comanyos[comanyos.selectedIndex].text;

        demes = cdias(Month, Year);
        diasnow = comdias.length;

        if (diasnow > demes)
        {
            for (i=0; i<(diasnow-demes); i++)
            {
                comdias.options[comdias.options.length - 1] = null
            }
        }
        if (demes > diasnow)
        {
            for (i=0; i<(demes-diasnow); i++)
            {
                sumaOpcion = new Option(comdias.options.length + 1);
                comdias.options[comdias.options.length]=sumaOpcion;
            }
        }
        if (comdias.selectedIndex < 0) 
          comdias.selectedIndex = 0;
     }

 
    function insertadia()
    {
        comdias = eval("document.formFecha.findia");
        commeses = eval("document.formFecha.finmes");
        comanyos = eval("document.formFecha.finanyo");

        comanyos[0].selected = true;
        commeses[nowMonth].selected = true;
  
        asigdias();

        comdias[nowDay].selected = true;
    }


    function llenaanyos(moreanyos)
    {
        cadena = "";

        for (i=0; i<moreanyos; i++)
        {
            cadena += "<option>";
            cadena += nowYear + i;
        }
        return cadena;
    }
  </script>

//// eso iba en el head 
///ahora lo del body 

///select de ingreso
<select name="seleccionaDia" class="fecha">
                      <option value="01">1 
                      <option value="02">2 
                      <option value="03">3 
                      <option value="04">4 
                      <option value="05">5 
                      <option value="06">6 
                      <option value="07">7 
                      <option value="08">8 
                      <option value="09">9 
                      <option>10 
                      <option>11 
                      <option>12 
                      <option>13 
                      <option>14 
                      <option>15 
                      <option>16 
                      <option>17 
                      <option>18 
                      <option>19 
                      <option>20 
                      <option>21 
                      <option>22 
                      <option>23 
                      <option>24 
                      <option>25 
                      <option>26 
                      <option>27 
                      <option>28 
                      <option>29 
                      <option>30 
                      <option>31 
                    </select>
                    <select name="seleccionaMes" class="fecha" onchange="asignaDias()">
                      <option value="01">Enero 
                      <option value="02">Febrero 
                      <option value="03">Marzo 
                      <option value="04">Abril 
                      <option value="05">Mayo 
                      <option value="06">Junio 
                      <option value="07">Julio 
                      <option value="08">Agosto 
                      <option value="09">Septiembre 
                      <option value="10">Octubre 
                      <option value="11">Noviembre 
                      <option value="12">Diciembre 
                    </select>
                    <select name="seleccionaAnyo" class="fecha" onchange="asignaDias()">
                      <script language="JavaScript" type="text/javascript">
        document.write(rellenaAnyos(2));
    </script>
                    </select>

//////select de retiro
<select name="findia" class="fecha">
                      <option value="01">1 
                      <option value="02">2 
                      <option value="03">3 
                      <option value="04">4 
                      <option value="05">5 
                      <option value="06">6 
                      <option value="07">7 
                      <option value="08">8 
                      <option value="09">9 
                      <option>10 
                      <option>11 
                      <option>12 
                      <option>13 
                      <option>14 
                      <option>15 
                      <option>16 
                      <option>17 
                      <option>18 
                      <option>19 
                      <option>20 
                      <option>21 
                      <option>22 
                      <option>23 
                      <option>24 
                      <option>25 
                      <option>26 
                      <option>27 
                      <option>28 
                      <option>29 
                      <option>30 
                      <option>31 
                    </select>
                    <select name="finmes" class="fecha" onchange="asigdias()">
                      <option value="01">Enero 
                      <option value="02">Febrero 
                      <option value="03">Marzo 
                      <option value="04">Abril 
                      <option value="05">Mayo 
                      <option value="06">Junio 
                      <option value="07">Julio 
                      <option value="08">Agosto 
                      <option value="09">Septiembre 
                      <option value="10">Octubre 
                      <option value="11">Noviembre 
                      <option value="12">Diciembre 
                    </select>
                    <select name="finanyo" class="fecha" onchange="asigdias()">
                      <script language="JavaScript" type="text/javascript">
        document.write(llenaanyos(2));
    </script>
                    </select>
gracias al que quiera hechar una mano ;)
__________________
Gokuh Salvo al mundo. PUNTO!!!!