Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   no lee javascript en la ventana cargada con ajax (http://www.forosdelweb.com/f127/no-lee-javascript-ventana-cargada-con-ajax-586419/)

jane_135 14/05/2008 10:39

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

venkman 14/05/2008 11:26

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.

jane_135 14/05/2008 15:41

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

venkman 14/05/2008 16:40

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.

jane_135 16/05/2008 11:00

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?

jane_135 24/12/2008 03:54

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


La zona horaria es GMT -6. Ahora son las 17:20.

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