Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/08/2005, 21:24
Juanchooo
 
Fecha de Ingreso: diciembre-2004
Mensajes: 272
Antigüedad: 19 años, 5 meses
Puntos: 4
Pues si hay varios detalles ahi...

Saludos, bueno,en este punto:

////////////////////////

echo $capas = SextEPB, SextEPA, QuinEPB, QuinEPA, CuarEPB, CuarEPA, TerEPB, TerEPA, SegEPB, SegEPA, PrimEPB, PrimEPA

Y también he probado con

echo $capas = 'SextEPB', 'SextEPA', 'QuinEPB', 'QuinEPA', 'CuarEPB', 'CuarEPA', 'TerEPB', 'TerEPA', 'SegEPB', 'SegEPA', 'PrimEPB', 'PrimEPA'

///////////////////////


las variables estan mal inicializadas, tanto en el primer como en el segundo ejemplo, de hecho, php te debio haber marcado un error de sintaxis, ademas que "echo" es para imprimir en pantalla, por lo cual no necesitamos dar salida a pantalla, si no inicializar la variable $capas con una cadena, dicha cadena estara estructurada de tal manera que al momento de darle salida con echo, javascript la interprete como elementos de un array. Entonces la variable $capas nos quedaria asi:

$capas= "'SextEPB', 'SextEPA', 'QuinEPB', 'QuinEPA', 'CuarEPB', 'CuarEPA', 'TerEPB', 'TerEPA', 'SegEPB', 'SegEPA', 'PrimEPB', 'PrimEPA'";


ahora, en este punto:

//////////////////

El script de JS es:

function visu(vis)
{
$capas = new Array (<? echo $capas; ?>);
for($i=0;$i<count($capas);$i++)
{
$capas[$i].style.visibility="hidden";
}
vis.style.visibility="visible";
}


////////////////


No se si javascript te marque error de sintaxis(yo creo que si), porque yo nunca he declarado una variable en javascript con un nombre que empieze con signo de $, ya que esto solo es propio de PHP, pero si es asi, el unico error que veo en la funcion es eso, simplemente quitale el signo $ a todas tus variables de la funcion, excepto a la que esta dentro del codigo de apertura de PHP(<? ?>).

ahhh no espera.... otro posible error en la funcion tambien es al momento de aplicar el atributo "visible" a la capa, donde pusiste:


//////////////

$capas[$i].style.visibility="hidden";

vis.style.visibility="visible";

/////////

esto que estas haciendo,que con las modificaciones que te di quedaria asi:

////////////


capas[i].style.visibility="hidden";

vis.style.visibility="visible";

///////////

creo que aqui, javascript tratara de interpretar que "capas[i]" es el nombre de las capas, por lo cual es falso, ya que me supongo el nombre de las capas es lo que contiene el array, asi que te sugiero que a las capas les pongas un "ID" con el nombre de los elementos del array que les corresponda a cada capa, ademas, tambien te falto anteponer "document", y despues de declarar un "ID", utiliza "getElementById" para referirte a las capas, entonces si no se me pasa algo,esto te quedaria asi:

////////////////

function visu(vis)
{
capas = new Array (<? echo $capas; ?>);
for(i=0;i<count(capas);i++)
{
document.getElementById[capas[i]].style.visibility="hidden";
}
document.getElementById[vis].style.visibility="visible";
}

//////////////


y por ultimo, donde llamas a la funcion no ocupas todo este rollo:

////////////

La llamada es:

onClick="MM_callJS('visu(PrimEPA)')

y también he probado con esta otra

onClick="MM_callJS('visu(PrimEPA), <?echo ($capas);?>')



///////////

simplemente pon:

onClick="visu(PrimEPA)";


bueno, espero haberte ayudado,cualquier duda o comentario rebota de nuevo este mensaje, hasta luego y suerte....!