| ||||
Son tres selects. el primero con numeros del 1 al 31, el segundo de enero a diciembre y el tercero por ejemplo de 1900 a 2005. Eso es javascript? No lo entiendo.
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| |||
derkenuke acuerdate q no todos los meses terminan en 31 y acuerdate de los años bisiestos, yo quiero un calendario real... eso existe en javascript pero los que he conseguido no me convienen... |
| ||||
Y quieres generarlo para que no pueda elegirse una combinacion erronea? No es mas facil poner todas las posibilidades y luego validarlo? Bueno, estoy intentando la generacion ahora..
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Con estas funciones puedes construirtelo tu mismo: Código PHP: Si te sale postea, si te encuentras con problemas, tambien
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Me aburría y he rescatado el post. Te salió? Mira esto: Código PHP:
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Amigos unos cuantos post mas abajo yo estoy preguntando algo sobre que no puedo colocarle el value a las opciones de los años que escribe el javascript. y puse el codigo con los tres select de los campos dia mes año, dependiendo del mes te muestra la cantidad de dias de ese mes y si es año bisiesto muestra en febrero 29 dias y si no muestra 28, en la propia pregunta coloce todo el codigo asi que se lo pueden copiar. aca esta, de paso ven si pueden ayudarme con mi pregunta: http://www.forosdelweb.com/f13/campo-fecha-326004/ ah se me olvidava en el body deben colocar onLoad="SetToToday('FirstSelect');" para que coloque la fecha de hoy por defecto seleccionada. |
| ||||
Si, me gustaria echarle un vistazo y asi aprender de él.
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| |||
Este javascript lo guardé como llenarDias.js function esBisiesto(ano) { return ((ano%4==0 && ano%100!=0)||(ano%400==0)?true:false) } function llenarDias(ano, mes, dia) { var valMes, valAno, indiceCbo, i, n, cboAno, cboMes, cboDia, carMes cboDia=document.getElementById(dia) cboMes=document.getElementById(mes) cboAno=document.getElementById(ano) //se eliminan todos los elementos del combo 'Día' n=cboDia.options.length for (i=n-1; i>=0; i--) cboDia.options[i] = null //se llena el combo 'Día' con valores del 1 al 28 for (i=1; i<=28; i++) cboDia.options[i-1]=new Option (String(i),String(i))//String() para convertir en cadena un número //se obtiene el valor del mes indiceCbo=cboMes.selectedIndex//índice de la opción seleccionada valMes=parseInt(cboMes.options[indiceCbo].value) //parseInt() para convertir en número una cadena //se obtiene el valor del año indiceCbo=cboAno.selectedIndex //índice de la opción seleccionada valAno=parseInt(cboAno.options[indiceCbo].value) i=29 if (valMes==2) //si el mes es febrero { if (esBisiesto(valAno)) //si el año es biciesto //se agrega 1 días más al combo 'Día' para que llegue a 29 cboDia.options[i-1]=new Option (String(i),String(i)) } else if ((valMes%2==0||valMes>=8)&&(valMes%2!=0||valMes<=7 )) //si el mes es abril, junio, septiembre o noviembre { //se agregan 2 días más al combo 'Día' para que llegue a 30 for (i=29; i<=30; i++) cboDia.options[i-1]=new Option (String(i),String(i)) } else if ((valMes%2!=0&&valMes<8)||(valMes%2==0&&valMes>7)) //si el mes es enero, marzo, mayo, julio, agosto, octubre o diciembre { //se agregan 3 días más al combo 'Día' para que llegue a 31 for (i=29; i<=31; i++) cboDia.options[i-1]=new Option (String(i),String(i)) } } y en mi página php coloqué tres combos, uno para el año, uno para el mes y otro para el día... el combo del mes depende del combo del año: </font><font color="#003366" size="2" face="Arial, Helvetica, sans-serif">Año: <select name="cboAno" id="cboAno" onChange="llenarDias('cboAno','cboMes','cboDia')"> <?php $ano=date(Y); if (!isset($Fano)) $Fano=$ano; for ($i=1900; $i<=$ano; $i++) { if ($i==$Fano) echo '<option value="'.$i.'" selected>'.$i.'</option>'; else echo '<option value="'.$i.'">'.$i.'</option>'; } ?> </select> Mes: <select name="cboMes" id="cboMes" onChange="llenarDias('cboAno','cboMes','cboDia')"> <?php $mes=date(n); if (!isset($Fmes)) $Fmes=$mes; ?> <option value="1" <?php echo (($Fmes=="1")?"selected":"") ?> >Enero</option> <option value="2" <?php echo (($Fmes=="2")?"selected":"") ?> >Febrero</option> <option value="3" <?php echo (($Fmes=="3")?"selected":"") ?> >Marzo</option> <option value="4" <?php echo (($Fmes=="4")?"selected":"") ?> >Abril</option> <option value="5" <?php echo (($Fmes=="5")?"selected":"") ?> >Mayo</option> <option value="6" <?php echo (($Fmes=="6")?"selected":"") ?> >Junio</option> <option value="7" <?php echo (($Fmes=="7")?"selected":"") ?> >Julio</option> <option value="8" <?php echo (($Fmes=="8")?"selected":"") ?> >Agosto</option> <option value="9" <?php echo (($Fmes=="9")?"selected":"") ?> >Septiembre</option> <option value="10" <?php echo (($Fmes=="10")?"selected":"") ?> >Octubre</option> <option value="11" <?php echo (($Fmes=="11")?"selected":"") ?> >Noviembre</option> <option value="12" <?php echo (($Fmes=="12")?"selected":"") ?> >Diciembre</option> </select> Día: <select name="cboDia" id="cboDia" > <?php $dia=date(j); //día del mes actual $dias=date(t); //número de días del mes actual if (!isset($Fdia)) $Fdia=$dia; for ($i=1; $i<=$dias; $i++) { if ($i==$Fdia) echo '<option value="'.$i.'" selected>'.$i.'</option>'; else echo '<option value="'.$i.'">'.$i.'</option>'; } ?> </select> |