Foros del Web » Programando para Internet » Javascript » Frameworks JS »

no lee javascript en la ventana cargada con ajax

Estas en el tema de no lee javascript en la ventana cargada con ajax en el foro de Frameworks JS en Foros del Web. Estoy cargando un <div id="contenido"></div> con contenido mediante ajax(usando mootools) y si dentro de ese contenido declaro y utilizo una funcion js en un script, ...
  #1 (permalink)  
Antiguo 14/05/2008, 10:39
jane_135
Invitado
 
Mensajes: n/a
Puntos:
no lee javascript en la ventana cargada con ajax

Estoy cargando un <div id="contenido"></div> con contenido mediante ajax(usando mootools) y si dentro de ese contenido declaro y utilizo una funcion js en un script, firebug me dice que no encuentra la funcion. Alguien sabe si es porque el dom del navegador sólo reconoce el javascript que se cargue cuando se cargan las cabeceras http??
  #2 (permalink)  
Antiguo 14/05/2008, 11:26
venkman
Invitado
 
Mensajes: n/a
Puntos:
Re: no lee javascript en la ventana cargada con ajax

Es normal. Es así como debe funcionar. No deberías mezclar peticiones de HTML y de funciones Javascript; es una mala práctica.


De todos modos, Mootools tiene un método en su objeto Ajax, que es evalScripts que precisamente evalúa los scripts que vengan en la respuesta. Lo puedes ver en la documentación de Mootools.
  #3 (permalink)  
Antiguo 14/05/2008, 15:41
jane_135
Invitado
 
Mensajes: n/a
Puntos:
Re: no lee javascript en la ventana cargada con ajax

Y como hago si quiero por ejemplo si tengo en ese contenido cargado un listado de items paginados y quiero ir paginando de una página a otra sin recargar las cabeceras? o si quiero utilizar javascript dentro de ese contenido?
Deberé declarar todo ese javascript fuera????
  #4 (permalink)  
Antiguo 14/05/2008, 16:40
venkman
Invitado
 
Mensajes: n/a
Puntos:
Re: no lee javascript en la ventana cargada con ajax

¿Fuera de qué?
Lo que te digo es que no deberías necesitar recibir funciones en una petición de datos.
  #5 (permalink)  
Antiguo 16/05/2008, 11:00
jane_135
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: no lee javascript en la ventana cargada con ajax

Creo que me has entendido mal. Te explico:
Tengo este archivo:

origen.php
Código PHP:
<script>
//on dom ready...
window.addEvent('domready', function() {
    $(
'ajax-replace').addEvent('click', function(e) {
        
= new Event(e).stop();

        var 
url = $('ajax-replace').href;

        $(
'galeriadoc').style.display="block";

        
/**
         * The simple way for an Ajax request, use onRequest/onComplete/onFailure
         * to do add your own Ajax depended code.
         */
        
new Ajax(url, {
            
method'get',
            
update: $('galeriadoc')
        }).
request();
    });
});
</script>
<a href="destino.php" id="ajax-replace" title="Asociar Documentos">Asociar Documentos</a>

        <div id="galeriadoc"></div> 
Cuando pinche en "Asociar documentos" me aparece un listado paginado, y lo que quiero es que pueda moverme por las páginas del listado sin tener que refrescar la página. Pero no me carga es js que meta en destino.php por ejemplo si en destino.php escribo algo como:

Código PHP:
<script type="text/javascript" language="JavaScript">
         
// este js lo ignora
         
funcion foo(){
         }
</script>

<a href="#" onclick="javascript:foo();" id="enlace" title="enlace">enlace</a> 
da error de js porque la funcion foo no la encuentra.

Entonces, por lo que creo, estaré obligado a cargar todos los js en origen.php

..........o No?
  #6 (permalink)  
Antiguo 24/12/2008, 03:54
jane_135
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: no lee javascript en la ventana cargada con ajax

¿Cómo puedo hacer para evitar recibir funciones javascript al realizar una llamada de ajax?

Si escribo el javascript en el html orígen, recibiré errores de js o al cargar el html cargado por ajax, la referencia a nuevos elementos cargados no funcionará no??

Alguna ayuda!!
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 18:46.