Foros del Web » Programando para Internet » Javascript »

Donde esta el error

Estas en el tema de Donde esta el error en el foro de Javascript en Foros del Web. Tengo el siguiente codigo...es un calendario al que se le pueden marcas dias especiales mediante arrays y tambien que cada array tenga su enlace para ...
  #1 (permalink)  
Antiguo 18/04/2004, 21:17
Avatar de frogx3  
Fecha de Ingreso: abril-2003
Ubicación: Merida, Yucatan
Mensajes: 79
Antigüedad: 21 años, 9 meses
Puntos: 0
Donde esta el error

Tengo el siguiente codigo...es un calendario al que se le pueden marcas dias especiales mediante arrays y tambien que cada array tenga su enlace para abrirse en un popup donde muestre la descripcion del evento de tal dia...hasta los arrays todo funciona excelente...pero al momento de poner en el hraf del enlace la linea que indica que se abra un popup...si algun valor del array tiene un valor como este "mothersday.htm" me manda un mensaje de que motherday no esta definido. Pero si le el .htm me manda el mismo mensaje...Ahora si el valor es un numero por ejemplo "5.htm" me manda un mensaje diferente diciendo que se esperaba un ")" ahora si a ese 5.htm le quito el .htm es decir solo queda el numero.... asi se me abre la ventana...

cual es el problema no lo se....aunaqui les dejo el codigo... espero y me puedan ayudar....

Las partes del codigo remarcadas son las del popup...

Código:
// Edita las lineas para añadir los eventos delcalendario...
//Mes del Evento    ----> NOTA: LA PRIMERA LETRA DEL MES EN MAYUSCULAS....
x3_month = "Abril";



var myday=new Array();
//Dia del Calendario   
	myday[0] = "3";    



var evento = new Array(1)
//Direccion de la pagina del evento

	evento[0] = "5.htm"   













//-------- This code was modifed by X3 [frogx3.net] ------------- No edit

function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=600');");
}   




function buildCal(m, y, cM, cH, cDW, cD, brdr){

var mn=['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];
var dim=[31,0,31,30,31,30,31,31,30,31,30,31];

var oD = new Date(y, m-1, 1); //DD replaced line to fix date bug when current day is 31st
oD.od=oD.getDay()+1; //DD replaced line to fix date bug when current day is 31st

if(oD.od == 1) dayofweek = "Domingo";;
if(oD.od == 2) dayofweek = "Lunes";;
if(oD.od == 3) dayofweek = "Martes";;
if(oD.od == 4) dayofweek = "Miercoles";;
if(oD.od == 5) dayofweek = "Jueves";;
if(oD.od == 6) dayofweek = "Viernes";;
if(oD.od == 7) dayofweek = "Sabado";;

var todaydate=new Date() //DD added
var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 //DD added

dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
var t='<table cols="7" cellpadding="0" border="0" cellspacing="0" align=center><tr align="center">';
t+='<td colspan="7" align="left" class=contenido>'+dayofweek+' '+scanfortoday+' de '+mn[m-1]+' de '+y+'</td></tr><tr align="center">';
for(s=0;s<7;s++)t+='<td class=contenido><b>'+"DLMMJVS".substr(s,1)+'</b></td>';
t+='</tr><tr align="center">';
for(i=1;i<=42;i++){
var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '&nbsp;';

color="";



if (x3_month==mn[m-1]){
for(f=0;f<myday.length; f++){
if (x==myday[f]){ //x3
URLx = evento[f]

x='<span class="enlaces"><a href="javascript:popUp('+URLx+')">'+x+'</a></span>'; //x3  

color="background=images/ico.gif";
}
}
}


if (x==scanfortoday){ //DD added
x='<span class="today">'+x+'</span>'; //DD added
color="background=images/ico2.gif";
}

t+='<td width=29 height=29 '+color+' class="contenido">'+x+'</td>';



if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
}
return t+='</tr></table>';
}

Adios y gracias de antemano...

NOTA:A una pregunta por que desaparecen los mensajes del foro...y no se van paginando...???? Antes era asi despues de la actualizacion del servidor...cambiaron varias cosas...
  #2 (permalink)  
Antiguo 19/04/2004, 00:25
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61

El problema está aquí:
x='<span class="enlaces"><a href="javascript:popUp('+URLx+')">'+x+'</a></span>'; //x3

Tendrías que poner esto:
Código PHP:
x='<span class="enlaces"><a href="javascript:popUp(\\\''+URLx+'\\\')">'+x+'</a></span>'//x3 

Ya que si no tomaría la dirección de la página como una variable por no ponerla entre comillas.

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 19/04/2004 a las 00:26
  #3 (permalink)  
Antiguo 19/04/2004, 00:30
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Nada, que no sale!

Antes de las comillas del popUp pones una barra invertida, así:

popUp([barra invertida]''+URLx+'[barra invertida]')

siendo [barra invertida] igual a \

resultando:

popUp, abrir paréntesis, barra invertida, comilla simple, comilla simple, más, URLx, más, comilla simple, barra invertida, comilla simple, cerramos paréntesis.

No sé que ocurre con las barras invertidas que no salen...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 19/04/2004, 15:50
Avatar de frogx3  
Fecha de Ingreso: abril-2003
Ubicación: Merida, Yucatan
Mensajes: 79
Antigüedad: 21 años, 9 meses
Puntos: 0
Muchisimas gracias.................tanto dolor de cabeza... ya habia puesto la barra y las comillas pero no de esa forma... je

gracias KarlanKas
  #5 (permalink)  
Antiguo 20/04/2004, 00:45
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
De nada, frogx3!

Aquí estamos para lo que quieras!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:36.