Foros del Web » Programando para Internet » Javascript »

Ayuda: Los select se vuelven inactivos

Estas en el tema de Ayuda: Los select se vuelven inactivos en el foro de Javascript en Foros del Web. Hola, aunque asiduo seguidor de este foro este es mi primer mensaje, ruego me disculpen si no es el sitio adecuado o me equivoco en ...
  #1 (permalink)  
Antiguo 08/02/2005, 08:18
 
Fecha de Ingreso: febrero-2005
Mensajes: 6
Antigüedad: 19 años, 2 meses
Puntos: 0
Ayuda: Los select se vuelven inactivos

Hola, aunque asiduo seguidor de este foro este es mi primer mensaje, ruego me disculpen si no es el sitio adecuado o me equivoco en algo. Es complicado de explicar

Mi problema es el siguiente
EStoy haciendo un pequeño Javascript para modificar dinámicamente los estilos de una capa, y tengo un problema un poco absurdo. En Explorer funciona perfecto pero en Mozilla me hace una cosa muy rara.

Hay dos SELECT uno modifica el texto de una de las capas y el otro SELECT cambia de sitio las 10 capas. Os pongo parte de codigo porque es bastante largo.

Invoco el efecto de cambiar las posiciones de las capas asi:

<select name="Posicion" class="cuadrotexto" id="Posicion" onChange="cPosicion()">
<option value="pos1">Posicion 1</option>
<option value="pos2">Posicion 2</option>
...

La función es asi:

<script language="JavaScript" type="text/JavaScript">

function cPosicion()
{


var posicionX = new Array(12);
var posicionY = new Array(12);

var Esquema;
Esquema=document.Selector.cPosicion.options[document.Selector.cPosicion.selectedIndex].value;

switch (Esquema){ // dependiendo de la posicion elegida carga una u otra configuracion

case "pos1":
{


posicionX[2]=242;posicionY[2]=105; // son las dos coordenadas x,y a donde se movera la capa
posicionX[3]=76;posicionY[3]=16;

break;
}

case "pos2":

(..etc)

// y ahora recolocamos todas las capas- Se llaman Jugador2, Jugador3...

for (Contador=2; Contador < 12; Contador++)
{
eval (document.getElementById(["Jugador"+Contador]).style.top=posicionY[Contador]);
eval (document.getElementById(["Jugador"+Contador]).style.left=posicionX[Contador]);
}

-------------------------

Tanto Mozilla como Explorer me cambia las capas sin ningun problema

Ahora hay varios select con varias opciones cada uno, cambiando ese select se cambia automaticamente el texto de una de las capas

Lo invoco asi:
<select name="Jugador_<%=Contador+1%>" class="cuadrotexto" onChange="MM_setTextOfLayer('Jugador<%=Contador+1% >','','<img src=graficos/topos/6.gif width=26 height=26 align=absmiddle> <span class=selector>'+document.Selector.Jugador_<%=Cont ador+1%>.options[document.Selector.Jugador_<%=Contador+1%>.selected Index].text+'</span>')"">

Nota: <%=Contador+1%> La lista de Select la genero desde asp


LA funcion que cambia el texto de la capa es la que te genera el Dreamweaver
<script language="JavaScript" type="text/JavaScript">
<!--


function MM_findObj(n, d) { //v4.01


var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_setTextOfLayer(objName,x,newText) { //v4.01
if ((obj=MM_findObj(objName))!=null) with (obj)
if (document.layers) {document.write(unescape(newText)); document.close();}
else innerHTML = unescape(newText);
}
//-->
</script>



El Explorer funciona pero en Mozilla, una vez que modifica las posiciones, no me deja modificar algunos de los select's. Dependiendo de las posicioens alguno no se pueden desplegar, aunque si peudo acceder y modificarlos con el tabulador.


Muchas gracias
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 12:47.