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

Ajax no ejecuta Javascript

Estas en el tema de Ajax no ejecuta Javascript en el foro de Frameworks JS en Foros del Web. Hola a todos junto con saludarles, lanteo mi duda. Hes estado viendo dentro de estos mismos foros e inet(google) y no he encontrado algo que ...
  #1 (permalink)  
Antiguo 05/09/2006, 17:46
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1
Antigüedad: 18 años, 3 meses
Puntos: 0
Ajax no ejecuta Javascript

Hola a todos junto con saludarles, lanteo mi duda. Hes estado viendo dentro de estos mismos foros e inet(google) y no he encontrado algo que resuelva mi problema...el asunto es que tengo un menu del lado izq. que al hacer click sobre uno de ellos refresca el contenido del lado derecho (mediante AJAX).cuando refresca ajax pone otra pagina web dentro del div del contenido (del lado derecho). Esta pagina tiene un formulario la cual contiene codigo HTML , PHP y JavvaScript. El asunto es que en el <head> tengo incluidos los ficheros JavaScript necesarios para el correcto funcionamiento del formulario
osea:
Código:
<script type="text/javascript" src="file.js"></script>
cuan termina de cargar solo aparece el formulario pero sin ninguna funcionalidad la cual se la daba JavaScript.

Como puedo ejecutar o hacer que el JS funcione??, espero que alguien me pueda ayudar, ya que he buscado y no he encontrado algo que me ayude...agradecido desde ya. Salu2!
  #2 (permalink)  
Antiguo 21/09/2006, 10:47
 
Fecha de Ingreso: enero-2004
Ubicación: Córdoba
Mensajes: 42
Antigüedad: 20 años, 11 meses
Puntos: 0
tengo el mismo problema

Hola RogerLive. Si te entendi bien tengo el mismo problema que el tuyo. tengo un menú a la izq y cargo con AJAX los distintos php en un div que está a la izq. En uno de estos php vuelvo a llamar a la función que uso para AJAX y no pasa nada. Después probe poner un simple alert de javascritp en ese archivo y tampoco se ejecuta. Estoy buscando y todavía no lo puede resolver. Si vos lo solucionaste... me dirías cómo por favor? Igual si encuentro la solución la posteo al instante. Gracias y saludos.
  #3 (permalink)  
Antiguo 21/09/2006, 13:15
 
Fecha de Ingreso: enero-2004
Ubicación: Córdoba
Mensajes: 42
Antigüedad: 20 años, 11 meses
Puntos: 0
encontré una posible solución

fijate si esto te srive de ayuda:

http://www.forosdelweb.com/f127/solucion-para-cuando-actualizo-capa-con-ajax-no-ejecuta-javascript-427813/
  #4 (permalink)  
Antiguo 26/09/2006, 15:33
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 21 años
Puntos: 8
la solución anterior no es para todos los casos, en mi caso el problema es con un menu desplegable css+javascript, el js es solo para ie ya que mozilla cumple con el estandar css.

Alguien tiene otra solucion?

el codigo js es el siguiente:

Código PHP:

<!--[if gte IE 5.5]>
<
script language="JavaScript" type="text/JavaScript">
navHover = function() {
    var 
lis document.getElementById("navmenu").getElementsByTagName("LI");
    for (var 
i=0i<lis.lengthi++) {
        
lis[i].onmouseover=function() {
            
this.className+=" iehover";
        }
        
lis[i].onmouseout=function() {
            
this.className=this.className.replace(new RegExp(" iehover\\b"), "");
        }
    }
}
if (
window.attachEventwindow.attachEvent("onload"navHover);
</script>
<![endif]--> 
  #5 (permalink)  
Antiguo 27/09/2006, 12:45
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 7 meses
Puntos: 35
loading..................


Depende del como cargues el codigo JAvascript, porque a mi me FUNCIONA

ve un demo aqui : http://wilmer.colosa.net/demo/



connection closed.
__________________

Maborak Technologies
  #6 (permalink)  
Antiguo 28/09/2006, 10:12
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 21 años
Puntos: 8
porfavor podrias explicar como se logra?
  #7 (permalink)  
Antiguo 01/10/2006, 16:27
 
Fecha de Ingreso: febrero-2006
Mensajes: 10
Antigüedad: 18 años, 9 meses
Puntos: 0
deberias explicarte mejor...

Pero creo que el problemas es que el js que contiene el codigo deja de estar presente cuando recargas el otro frame. Así asegurate que está linkado tu archivo js, en cada frame que sea necesario.

saludos
  #8 (permalink)  
Antiguo 01/10/2006, 22:36
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 21 años
Puntos: 8
exacto, pero e vez de un frame es un divel cual es cargado por AJAX.
  #9 (permalink)  
Antiguo 02/10/2006, 10:09
Avatar de MmSTOP  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 84
Antigüedad: 21 años, 10 meses
Puntos: 0
Creo que a esto no hay solucion en buscado en miles de foros y nadie dice algo que valga para todos los javascripts, yo lo necesito para adsense de google, ademas para llamar a otro ajax.

Esperaremos pues
__________________
--------------------------------
Gracias a la gente de WWW.FOROSDELWEB.COM que se preocupa de ayudar a la gente novatilla!! me incluyo :D
  #10 (permalink)  
Antiguo 02/10/2006, 14:35
Avatar de ikhuerta  
Fecha de Ingreso: octubre-2006
Mensajes: 104
Antigüedad: 18 años, 2 meses
Puntos: 0
Buenas, quizás soy muy obvio en la respuesta pero dejarme intentarlo...

El problema es que al cargar con ajax usando responseText no interpreta lo cargado como html con sus etiquetas sino que simplemente lo usa como una cadena... (si trabajais cargando partes de formularios con ajax vereis lo que se os lian por culpa de eso las validaciones).

Se trataría de hacer una función que cogiese lo cargado con ajax y separase el contenido de las etiquetas script del resto para después lanzar un eval(contenido). Aunque para eso ya os digo que tendreis que controlar la vuelta de vuestro ajax y que no se vaya directo al div contenedor.

Eso para simplemente ejecutar javascript en linea... otra cosa es cargar funciones nuevas con ajax que no creo que funcione.

La función a la que me refiero sería algo así:

Código:
///////////////////////////////////////////////
function rescatar_script(texto)
{
	var p1=texto.split("<scrip",2);
	if (p1[1]) {
		var p2=p1[1].split(">",2);
		var p3=p2[1].split("</script",2)
		if (p3[0] && p3[0]!='')
			eval(p3[0]); 
			texto=p1[0]+p3[1]; 
			texto=rescatar_script(texto); 
	}
	return texto;	
}
///////////////////////////////////////////////
Entonces tendríais que pasarle esta función al texto antes de que lo llevase al div...

por ejemplo...

Código:
//creamos el objeto XmlHttpRequest con la función que usemos...
XHR=crear_XmlHttpRequest();

// Y metemos el extractor de script antes del innerHTML
XHR.open("GET", "mi_url.php", true); post=null; }
XHR.onreadystatechange=function() { 	if (XHR.readyState==4) {
if (XHR.status==200) {	
TEXTO=rescatar_script(XHR.responseText;);
document.getElementByID("mi_Div").innerHTML=TEXTO;
}
  XHR.send(null); }
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 03:39.