Foros del Web » Programando para Internet » Javascript »

problemas con llamados a funciones

Estas en el tema de problemas con llamados a funciones en el foro de Javascript en Foros del Web. Holas!!! Pues la verdad soy un poco nuevo en la programación con Javascript, y sucede que tengo el siguiente problema: Cuando intento utilizar en un ...
  #1 (permalink)  
Antiguo 23/06/2008, 22:27
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 0
problemas con llamados a funciones

Holas!!!
Pues la verdad soy un poco nuevo en la programación con Javascript, y sucede que tengo el siguiente problema: Cuando intento utilizar en un script A, una función creada en otro script B, la función no tiene ningún efecto. Quisiera saber como hago para solucionar esto, para poder acceder desde un script A a las funcines del script B.
Gracias!!!!
  #2 (permalink)  
Antiguo 24/06/2008, 01:25
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: problemas con llamados a funciones

Hola lkas. Bienvenido al foro.

Sin ver el código, es difícil saber qué es lo que falla. Prueba este sencillo ejemplo, a ver si te orienta:

Código:
<html>
<head>
</head>
<script type="text/javascript">
function funcion1() {
  funcion2();
}
function funcion2() {
  alert('Hola');
}
</script>
<body>
<input type="button" onclick = "funcion1()" />
</body>
</html>
Saludos,
  #3 (permalink)  
Antiguo 24/06/2008, 06:36
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problemas con llamados a funciones

Hola Javier!
Pues mi problema es con llamados a una función de un Script desde otro, pero estando estos en diferentes archivos .js. La verdad, es que algunos llamados (llamemoslos externos) me funcionan, mientras que otros no.
Por ejemplo: tengo un archivo llamado toolbar.js en el cual en una de sus funciones (visualiza_leerPropiedades()) llama al método leerRutaEspecificacionSeleccionada() que pertenece al archivo proxy.class.js y en este caso funcina, mientras que si desde otro archivo que se llama options.js hago llamados a funciones de toolbar.js, no me funciona, y no se si es por la ubicación de los archivos o por qué.
Te mando parte del código:

function visualiza_leerPropiedades()
{
var fileXML = cargarArchivoXML(leerRutaEspecificacionSeleccionad a() + "/manifest.xml");

var xpathRes = document.evaluate("//ESPECIFICACION/ARCHIVO_XML", fileXML.childNodes[0], null, XPathResult.ANY_TYPE, null);
objPropiedades.pathContenidoRelativa(xpathRes.iter ateNext().textContent);

var xpathEnt = document.evaluate("//ESPECIFICACION/UTILIZA_ENTORNO", fileXML.childNodes[0], null, XPathResult.ANY_TYPE, null);

if(xpathEnt.iterateNext().textContent == 0)
{
getthetreeEntorno().hidden = true;
}
else
{
getthetreeEntorno().hidden = false;
}
}


function leerRutaEspecificacionSeleccionada()
{
var strEspec = '';
var nodoMenupopup = document.getElementById("visualiza-especificaciones-menu");
for(i=0; i < nodoMenupopup.childNodes.length; i++)
{
if(nodoMenupopup.childNodes[i].getAttribute("checked") == "true")
{
strEspec = nodoMenupopup.childNodes[i].getAttribute("label");
}
}

var ext = Components.classes["@mozilla.org/extensions/manager;1"]
.getService(Components.interfaces.nsIExtensionMana ger)
.getInstallLocation(visualiza_idApp)
.getItemLocation(visualiza_idApp);

if(strEspec == '')
{
//strEspec = 'IMS-LD-DEF';
strEspec = 'MOODLE';
}

return ("file:///" + ext.path + "/" + strEspec).replace(/\\/g,'/');
}


Lo anterior me funciona, mientas que esto (que lo hice de prueba) no:

(Código en toolbar.js)
function esp()
{
var nodoMenupopup = document.getElementById("visualiza-especificaciones");
return (nodoMenupopup.getAttribute("id"));
}


(código en options.js que llama a esp() de toolbar.js)
function visualiza_specificDefault()
{
alert(esp());
}


Gracias de antemano!!!
  #4 (permalink)  
Antiguo 24/06/2008, 08:22
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: problemas con llamados a funciones

Hola de nuevo.

Debería funcionar también. Tienes que "enlazar" los dos archivos .js a la página:

Código:
<script type="text/javascript" src="archivo1.js"></script>
<script type="text/javascript" src="archivo2.js"></script>
Saludos,

P.D. No uses ese color para el código, se ve bastante mal.
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 01:40.