Foros del Web » Programando para Internet » Javascript »

Problemas con una funciónJS

Estas en el tema de Problemas con una funciónJS en el foro de Javascript en Foros del Web. Buenas: Tengo una función en un fichero JS. Cuando la llamo usando el navegador EXPLORER funciona correctame, sin ningún problema. Pero si llamo a la ...
  #1 (permalink)  
Antiguo 06/03/2009, 08:36
 
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 15 años, 6 meses
Puntos: 0
Problemas con una funciónJS

Buenas:

Tengo una función en un fichero JS. Cuando la llamo usando el navegador EXPLORER funciona correctame, sin ningún problema. Pero si llamo a la función usando el navegador MOZILLA FIREFOX pos no ejecuta las instrucciones de la función (es como si sólo las entendiera explorer)

¿Que puedo hacer para que en ambos navegadores funcione?


NOTA: La página lo único que tiene es un conjunto de enlaces con nombres de moléculas, que al pulsar sobre ellos muestra la molécula en cuestión en un IFRAME.

La función lo que hace es cambiar el estilo de los enlaces en el caso de estar en reposo o ser ese el pulsado en ese momento, y cargar un HTML en el iFrame dependiendo del enlace pulsado.

Código:
function Visor (num){
	numMolc=4;
	var molecula1="jmol1.htm";
	var molecula2="jmol2.htm";
	var molecula3="jmol3.htm";
	var molecula4="jmol4.htm";
	
	for (var i=1; i<=numMolc;i++){
		eval("mol"+ i +".className='repose'"); //pongo el enlace en reposo
	}
	eval("mol"+num+".className='select'"); //pongo el enlace resaltado de la molécula que muestro
	
	parent.visorjmol.location=eval("molecula"+num); //en el visor iFrame cargo la molécula correcta
	
}
¿Alguien puede ayudarme?.... Muchas gracias
  #2 (permalink)  
Antiguo 06/03/2009, 08:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problemas con una funciónJS

Déjame adivinar, en tu html los elementos tienen id "mol1", "mol2", y así sucesivamente...

¿O cómo tienes el HTML?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 06/03/2009, 09:05
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problemas con una funciónJS

Y si pruebas...
cambiando eval por document.getElementById???

Código:
function Visor (num){
	numMolc=4;
	var molecula1="jmol1.htm";
	var molecula2="jmol2.htm";
	var molecula3="jmol3.htm";
	var molecula4="jmol4.htm";
	
	for (var i=1; i<=numMolc;i++){
		eval("mol"+ i +".className='repose'"); //pongo el enlace en reposo
	}
	eval("mol"+num+".className='select'"); //pongo el enlace resaltado de la molécula que muestro
	
	parent.document.visorjmol.src="molecula"+num; //en el visor iFrame cargo la molécula correcta
	
}
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #4 (permalink)  
Antiguo 06/03/2009, 09:39
 
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problemas con una funciónJS

Oro parece platano es........ PUES SÍ , lo has adivinado..
¿Es ese el problema?

Gracias por contestarr
  #5 (permalink)  
Antiguo 06/03/2009, 10:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problemas con una funciónJS

En lugar de usar eval y hacer referencia al nombre, hazle caso a CHuLoSoy, es mejor usar getElementById, ya que el único que tiene la manía de confundir name con id es Internet Explorer (:-p).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 06/03/2009, 10:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 15 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Problemas con una funciónJS

Gracias DavidElGrande y ChuloSoy, teneis razón.

¡¡Problema solucionado¡¡
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 05:02.