
27/12/2005, 09:50
|
 | | | Fecha de Ingreso: diciembre-2002 Ubicación: Guayaquil
Mensajes: 159
Antigüedad: 22 años, 2 meses Puntos: 0 | |
JS que no funciona en Firefox Puse en una página un código que me ayudaron a hacerlo aquí, con unos menúes.
Se selecciona el Año, luego el mes, y luego el día.
El año empieza en 1978 hasta el año actual, si se elige el año 1978 el menú de los meses empieza desde Junio, sino desde Enero a Diciembre y dependiendo del mes que se eligió, el menú de los días presenta 30 o 31 días (o 28).
Sin embargo al cargarlo en Firefox no me funciona... qué debo cambiar para que funcione?
Y si hay como validar para que Si se lecciona Año 1978, mes Junio, el menú de los días aparezca desde el 19.
El código es:
Código:
var aMeses = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
function padNmb(nStr, nLen, sChr){
var sRes = String(nStr);
for (var i = 0; i < nLen - String(nStr).length; i++)
sRes = sChr + sRes;
return sRes;
}
function makeDateFormat(nDay, nMonth, nYear){
var sRes;
sRes = padNmb(nDay, 2, "0") + "/" + padNmb(nMonth, 2, "0") + "/" + padNmb(nYear, 4, "0");
return sRes;
}
function addOpt(oCntrl, iPos, sTxt, sVal){
var selOpcion = new Option(sTxt, sVal);
oCntrl.options.add(selOpcion, iPos);
}
function lastDayOfMonth(nMonth, nYear){
var aMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
if ((nMonth == 2) && (nYear % 4 == 0))
return 29;
else
return aMonth[nMonth - 1];
}
function cambia(nCambiado){
var nAno;
var nMes;
with (document.frm){
nAno = parseInt(ano.options[ano.selectedIndex].value);
switch (nCambiado){
case 0:
llenaMes(mes, nAno);
break;
case 1:
nMes = parseInt(mes.options[mes.selectedIndex].value);
llenaDia(dia, nAno, nMes)
break;
case 2:
nMes = parseInt(mes.options[mes.selectedIndex].value);
nDia = parseInt(dia.options[dia.selectedIndex].value);
res.value = makeDateFormat(nDia, nMes + 1, nAno);
cambiarImagen(res.value);
break;
}
}
}
function llenaAno(oAno){
var hoy = new Date();
var ini = 1978;
addOpt(oAno, 0, "", "");
for (var i = ini; i <= hoy.getYear(); i++)
addOpt(oAno, i - ini + 1, String(i), String(i));
}
function llenaMes(oMes, nAno){
var hoy = new Date();
var nFin = 11;
while (oMes.length > 0) oMes.remove(0);
if (nAno == hoy.getYear()) nFin = hoy.getMonth();
addOpt(oMes, 0, "", "");
for (var i = nAno==1978?5:0 ; i <= nFin; i++)
addOpt(oMes, i + 1, aMeses[i], String(i));
}
function llenaDia(oDia, nAno, nMes){
var hoy = new Date();
var nFin = lastDayOfMonth(nMes + 1, nAno);
while (oDia.length > 0) oDia.remove(0);
if (nAno == hoy.getYear() && nMes == hoy.getMonth()) nFin = hoy.getDate();
addOpt(oDia, 0, "", "");
for (var i = 1; i <= nFin; i++)
addOpt(oDia, i + 1, String(i), String(i));
}
function cambiarImagen(fecha) {
var img=document.getElementById("imagen");
fecha=fecha.split("/");
var oAno=fecha[2].substring(2); var oMes=fecha[1]; var oDia=fecha[0]; var oFold=fecha[2];
// img.src=oAno+oMes+oDia+".jpg";
img.src="http://images.ucomics.com/comics/ga/"+oFold+"/"+"ga"+oAno+oMes+oDia+".gif";
}
La página es: http://usuarios.lycos.es/rmc/garfield/garfield.htm |