Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Consulta de como llamar a otra Funcion dentro Js

Estas en el tema de Consulta de como llamar a otra Funcion dentro Js en el foro de Javascript en Foros del Web. Hola tengo una consulta es que tengo que llamar a una funcion Javascript dentro de otra funcion Javascript, pero tengo que hacerlo todo dentro del ...
  #1 (permalink)  
Antiguo 18/02/2013, 09:15
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 6 meses
Puntos: 6
Pregunta Consulta de como llamar a otra Funcion dentro Js

Hola tengo una consulta es que tengo que llamar a una funcion Javascript dentro de otra funcion Javascript, pero tengo que hacerlo todo dentro del archivo js_visorMapa.js , tengo que llamarlo dentro de esta funcion:

Código:
function UpdateEntidad()
{
id_ficha = $.getURLParam("idFicha");
id_tipo  = $.getURLParam("id_tipo");
$.ajax({
type     :'POST',
url      :'../jsonUpdateEntidad/jsonUpdateEntidad.action?idFicha='+id_ficha+'&idTipo='+id_tipo,
dataType :'html',
success  : function () {
    if (id_tipo == 1)
    {
   	 
    }
    else
    {
        alert('Proceso realizado satisfactoriamente.');
        window.opener.actualizarMap();
        actualizarMap();
    }	
},
error:function()
{
alert('No se realizo proceso...Error de Base de Datos.');
}
});	
return false;	
}

function actualizarMap(){
alert("Entro a funcion actualizarMap");
$.ajax({
type     :'POST',
url      :'../capitulo916/init.action',
dataType :'html',
success  : function () {
 
},
error:function()
{
alert('No se realizo proceso...Error de Base de Datos.');
}
});	
}
Pero el problema es que no esta entrando a esta funcion (he puesto un alert) que necesito para que recargue refresque los datosde del primer popup que tengo construido.
Porfavor de indicarme porque no llama a esta funcion actualizarMap();
Atte.
  #2 (permalink)  
Antiguo 18/02/2013, 09:53
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Consulta de como llamar a otra Funcion dentro Js

Pues si sale el alert('Proceso realizado satisfactoriamente.');, entonces window.opener.actualizarMap() estará dando un error. Si miras la consola de javascript de tu navegador deberías ver el error y una pista de por qué se produce.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 18/02/2013, 10:05
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 6 meses
Puntos: 6
Sonrisa Respuesta: Consulta de como llamar a otra Funcion dentro Js

A no ese window.opener.actualizarMap(); recien lo puse al final solo para mostrarles, pero ya estaba probando sin colocarle el window.opener.actualizarMap();, pero igual no va a la funcion actualizarMap();, y no se porque, sera porque todas las funciones estan dentro de un archivo JS llamado js_visorMapa.js
  #4 (permalink)  
Antiguo 18/02/2013, 10:28
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Consulta de como llamar a otra Funcion dentro Js

Muchas veces cuando trabajas con jQuery declaras funciones dentro del document.ready y lo que pasa es que cuando la quieres usar no es accesible, lo cual es tu caso. Esto es por cuestiones del scope, como cargar la funcion dentro de tu bloque jQuery al cargarse tu pagina no queda reconocida y por eso no la puedes usar.

Lo que tienes que hacer para que tu funcion sea accessible es declarararla fuera del bloque y con eso ya vas apoder usarla en tu succes. Algo asi:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.  
  3. $(document).ready(function {
  4.      // tu lodiga, peticiones ajax etc.
  5.     //  aqui ya puedes usar actualizarMap() y te debe de funcionar.
  6. });
  7.  
  8. // la funcion esta fuera del scope de jQuery, es creado el objeto en tu 'document'
  9. function actualizarMap() {
  10.    // tu codigo
  11. }
  12.  
  13. </script>
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #5 (permalink)  
Antiguo 18/02/2013, 10:55
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 6 meses
Puntos: 6
Sonrisa Respuesta: Consulta de como llamar a otra Funcion dentro Js

Si amigo esta bien, pero las funciones los tengo dentro de un arhivo Js, llamado js_visorMapa.js, no lo tengo dentro del html , lo que pregunto es como accedo a otras funciones dentro del archivo Js.
  #6 (permalink)  
Antiguo 18/02/2013, 11:09
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Consulta de como llamar a otra Funcion dentro Js

No hay problema, cuando lo hagas asi quedan declarados globales. Si sigues con problemas seria bueno que nos compartieras un poco mas de codigo para ver como te podemos ayudar.
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #7 (permalink)  
Antiguo 18/02/2013, 11:35
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 6 meses
Puntos: 6
Respuesta: Consulta de como llamar a otra Funcion dentro Js

Ok amigo te detallo mi logica, yo trabajo con JAVA en este caso JSP, lo tengo declarado asi:

<script>
jQuery(document).ready(function(){
js_inicializarVisorMapa();

});
</script>


Que llama a un archivo js_visorMapa.js, donde tengo una funcion que recibe la peticion:

function js_inicializarVisorMapa()
{
$(".CLS_UpdEntidad").live('click',UpdateEntidad);

..........

}


donde llamo a la funcion que les comente al principio:

Código:
function UpdateEntidad()
{
id_ficha = $.getURLParam("idFicha");
id_tipo  = $.getURLParam("id_tipo");
$.ajax({
type     :'POST',
url      :'../jsonUpdateEntidad/jsonUpdateEntidad.action?idFicha='+id_ficha+'&idTipo='+id_tipo,
dataType :'html',
success  : function () {
    if (id_tipo == 1)
    {
   	 
    }
    else
    {
        alert('Proceso realizado satisfactoriamente.');
        actualizarMap();
    }	
},
error:function()
{
alert('No se realizo proceso...Error de Base de Datos.');
}
});	
return false;	
}

function actualizarMap(){
alert("Entro a funcion actualizarMap");
$.ajax({
type     :'POST',
url      :'../capitulo916/init.action',
dataType :'html',
success  : function () {
 
},
error:function()
{
alert('No se realizo proceso...Error de Base de Datos.');
}
});	
}
Me pueden indicar donde puedo llamar a esa funcion actualizarMap() despues de ejecutarse Success la primera funcion UpdateEntidad()
  #8 (permalink)  
Antiguo 18/02/2013, 11:46
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Consulta de como llamar a otra Funcion dentro Js

Mira como lo planteas puedes llamar al a funciones que tienes en tu js, pero si te recomiendo que en las cabeceras donde estas declarando el Javascript primero declares el javascript donde tienes la funcion y despues el javascript donde la uses, me explico:

En tu head:
Código HTML:
Ver original
  1. <script type="text/javscript" src'"la/ruta/de/jquery.js"></>
  2. <script type="text/javscript" src'"la/ruta/de/js_visorMapa.js"></>
  3. <script type="text/javscript">
  4. jQuery(document).ready(function(){ 
  5. js_inicializarVisorMapa(); 
  6.  
  7. });

Asi de esta manera primero tienes declaro js_visorMapa.js y asi puedes utilizar actualizarMap.


entonces dentro de actualizarMap.js puede declarar la funcion sin el document ready
Código Javascript:
Ver original
  1. <script type="text/javscript">
  2. function actualizarMap(){
  3. alert("Entro a funcion actualizarMap");
  4. $.ajax({
  5. type     :'POST',
  6. url      :'../capitulo916/init.action',
  7. dataType :'html',
  8. success  : function () {
  9.  
  10. },
  11. error:function()
  12. {
  13. alert('No se realizo proceso...Error de Base de Datos.');
  14. }
  15. });
  16. </script>
Recuerda que js_visorMapa.js tiene que estar despues de jquery y antes de el bloque javascript donde lo usas.
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.

Etiquetas: ajax, funcion, html, js
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 19:34.