Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Javascript (http://www.forosdelweb.com/f13/)
-   -   problemas con llamados a funciones (http://www.forosdelweb.com/f13/problemas-con-llamados-funciones-599446/)

lkas 23/06/2008 22:27

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!!!!

JavierB 24/06/2008 01:25

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, :adios:

lkas 24/06/2008 06:36

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!!!

JavierB 24/06/2008 08:22

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, :adios:

P.D. No uses ese color para el código, se ve bastante mal.


La zona horaria es GMT -6. Ahora son las 03:38.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.