Buenas, tengo una duda sobre una función en javascript, explico:
1) Tengo un formulario que contiene, entre otros campos, estos 3 (Día, Mes y Año):
2) Como se pueden dar cuenta, los valores para día y año, los genero con PHP. Entonces lo que quiero es que en el evento OnChange del SELECT que corresponde al mes, me ejecute una funcion para que no coloquen fechas invalidas (como 30 de Febrero, 31 de Noviembre, etc) y la tengo programada asi:
3) Entonces como ya vieron, si el mes seleccionado no abarca el total de días que selecciono en el SELECT "dia", que le cambie el valor.
Pero no me funciona el código, espero que alguien pueda ayudarme. De antemano, gracias...
1) Tengo un formulario que contiene, entre otros campos, estos 3 (Día, Mes y Año):
Código [Seleccionar]
<label class="FormField">Fecha de nacimiento:</label>
Día: <select name="f9" id="sDay">
<?php for($i=1; $i<=31; $i++) echo('<option value="'.$i.'">'.$i.'</option>'); ?>
</select>
Mes: <select name="f10" onchange="ValidateDate(this.value)">
<option value="1">Enero</option>
<option value="2">Febrero</option>
<option value="3">Marzo</option>
<option value="4">Abril</option>
<option value="5">Mayo</option>
<option value="6">Junio</option>
<option value="7">Julio</option>
<option value="8">Agosto</option>
<option value="9">Septiembre</option>
<option value="10">Octubre</option>
<option value="11">Noviembre</option>
<option value="12">Diciembre</option>
</select>
Año: <select name="f11">
<?php for($i=10; $i<=99; $i++) {$a=idate("Y")-$i;echo('<option value="'.$a.'">'.$a.'</option>');} ?>
</select>
2) Como se pueden dar cuenta, los valores para día y año, los genero con PHP. Entonces lo que quiero es que en el evento OnChange del SELECT que corresponde al mes, me ejecute una funcion para que no coloquen fechas invalidas (como 30 de Febrero, 31 de Noviembre, etc) y la tengo programada asi:
Código [Seleccionar]
function ValidateDate(month){
d=document.getElementById("sDay").value;
switch(parseInt(month)){
case 2:
if(parseInt(d)>28) d="28";
break;
case 4:
case 6:
case 9:
case 11:
if(parseInt(d)>30) d="30";
break;
}
}
3) Entonces como ya vieron, si el mes seleccionado no abarca el total de días que selecciono en el SELECT "dia", que le cambie el valor.
Pero no me funciona el código, espero que alguien pueda ayudarme. De antemano, gracias...