He estado trabajando con AJAX, pero me he estancado a la hora de insertar unos links que creo dinámicamente a partir de un documento XML. Se trata de ésto:
Tengo un menú principal en el que muestro las categorías principales. Al dar un click a estos links muestro un submenú que es traído de un documento XML, dependiendo de la categoria pulsada:
Código :
<a onclick="javascript: CargarSubmenu('MC')" href="#">Mi categoría</a>
En donde la función "Cargarsubmenu(Param)", recibe como parámetro esa variable (Categoria) que mediante AJAX es enviada por "GET" a un fichero "Submenu_gen.php", que es el lee el archivo XML e imprime el código html, que es el que se mostrará en el documento principal (index.hml) en un div llamado "destino", mediante:
Código :
destino.innerHTML = ajax.responseText;
Ahora bien, lo retornado es algo como esto (Creado dinámicamente mediante php):
Código :
<ul> <li><a href="#" onclick="javascript: CargarInfo('MC', 'SubOpt')">Opcion de mi submenu</a></li> </ul>
Y al final del fichero "Submenu_gen.php", tengo ésto:
Código :
header("Content-type: text/xml");
Por supuesto que el submenú contiene más opciones del mismo estilo, el problema es que la función "CargarInfo(Param1, param2)", no la realiza.
Cabe mencionar que utilizo un sólo (*.js) en donde tengo todas mis funciones, y lo mando llamar el en head de mi documento principal.
¿Será que esa inclusión no es válida para el submenú retornado mediante AJAX, y por lo tanto no encuentra la función de Cargarinfo?.
No sé mucho sobre AJAX, pero a mi parecer, lo retornado en el llamado Asíncrono es tomado como un pequeño fragmento de código independiente (mini-página), que debe tener sus propias importaciones de js's. (Qué se yo, ni siquiera sé si es posible hacer ésto o acaso tendrá que ver con el "Content-type" del Submenu.php?). Bueno,espero y me puedan ayudar.