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 ;)