Comunidad de diseño web y desarrollo en internet online

Problemas al llamar una función luego de q se cargue el contenido AJAX

Citar            
MensajeEscrito el 18 May 2011 03:52 pm
hola Usuarios,
le he estado dando vueltas a esta función y a otras que he conseguido navegando pero ninguna de estas funciones me ha solucionado el problema que explico a continuación:

tengo esta función:

Código Javascript :

function AsincronoReserva(url, variable, id_contenedor, Num){
   var pagina_requerida = false
   if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
      pagina_requerida = new XMLHttpRequest()
   } else if (window.ActiveXObject){ // pero si es IE
      try {
         pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
      } 
      catch (e){ // en caso que sea una versión antigua
         try{
            pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
         }
         catch (e){}
      }
   }
   else
   return false
   
   pagina_requerida.onreadystatechange=function(){ // función de respuesta
      if(pagina_requerida.readyState == 4){ 
         document.getElementById(id_contenedor).innerHTML = pagina_requerida.responseText;
         CalcularSubTotal("+Num+");
         CalcularTotal();
      } 
   }
   pagina_requerida.open('GET', url+variable, true) // asignamos los métodos open y send
   pagina_requerida.send(null);
   document.getElementById(id_contenedor).innerHTML = "Cargando..."; 
}


como ya muchos la conocen es una función simple de ajax con la que llamo una pagina y la meto dentro de un DIV dentro de la pagina en la que la estoy invocando!! el problema es que luego de que se termina de cargar la información dentro del div necesito llamar a estas dos funciones

CalcularSubTotal("+Num+");
CalcularTotal();

pero justo luego de que se cargue el div completo ya que es una especie de factura dinámica que estoy intentando hacer y en el div que estoy introduciendo hay información que debe incluirse en el total y el subtotal...

agradezco su ayuda.

Oswaldo

Por Oslawso

6 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 18 May 2011 04:22 pm
Pues como lo haces, está bien ¿cuál es el problema?

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 18 May 2011 04:24 pm
hola, gracias por responder, el problema es que las funciones se ejecutan antes de que se carga la información dentro del div y no toma los valores para la suma de la factura

Por Oslawso

6 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 18 May 2011 04:29 pm
de hecho, ahorita les coloque a las dos funciones un pequeño setTimeOut para que pudieran hacer los cálculos, el hecho es que cuando e tarda un poquito mas en responder el ajax ya no me funciona el setTimeOut y si le coloco mas tiempo al setTimeOut ya no seria tan dinámico, y haría todos los procesos mas lentos!! acá dejo como coloque ahora las funciones!!

funciones:
setTimeout("CalcularSubTotal("+Num+")",200);
setTimeout("CalcularTotal()",300);

Por Oslawso

6 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 18 May 2011 09:56 pm
Claro. Lo que pasa es que las funciones esas se ejecutan antes que el navegador termine de rearmar el DOM con el nuevo contenido. Interesante problema. Nunca me había pasado. Tendré que investigar.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.