AYUDA CON FUNCION javascript

Iniciado por Christopher Bryan, 10 Agosto 2014, 23:35 PM

0 Miembros y 1 Visitante están viendo este tema.

Christopher Bryan

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



<label class="FormField">Fecha de nacimiento:</label>
Día:&nbsp;<select name="f9" id="sDay">
<?php for($i=1$i<=31$i++) echo('<option value="'.$i.'">'.$i.'</option>'); ?>
</select>
Mes:&nbsp;<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:&nbsp;<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:


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...
while(!success)
{
     KeepTrying(objective);
     if(die)
         break;
}

MinusFour

No funciona porque la variable d no es una referencia a la propiedad value del select sDay.

Vamos:

Código (javascript) [Seleccionar]

//sDay.value = 2
var d = document.getElementById(sDay).value;
//d = value
d = 28;
//d = 28, sDay.value = 2
document.getElementById(sDay) = 28;
//sDay.value = 28