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

No ejecuta javscript desde un AJAX invocado desde un Formulario

Estas en el tema de No ejecuta javscript desde un AJAX invocado desde un Formulario en el foro de Frameworks JS en Foros del Web. Hola.... A ver si me pueden ayudar... Tengo una pagina que es algo parecido a un foro. Cuando alguien agrega una respuesta a un comentario, ...
  #1 (permalink)  
Antiguo 24/02/2007, 19:49
 
Fecha de Ingreso: diciembre-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 17
Antigüedad: 21 años, 4 meses
Puntos: 0
No ejecuta javscript desde un AJAX invocado desde un Formulario

Hola....

A ver si me pueden ayudar...

Tengo una pagina que es algo parecido a un foro.
Cuando alguien agrega una respuesta a un comentario, se debe actualizar dinamicamente un DIV
Código HTML:
<div id="user">
contenido....
</div> 
con informacion del usuario que dejo esa respuesta.

Debajo de cada comentario hay un link que dice "Dejar respuesta". Al hacer clic en ese link, se carga dinamicamente un DIV con el formulario para responder.
El action del formulario (procesa_respuesta.php), procesa los datos ingresados y al finalizar, debe actualizar el DIV user.

El problema que tengo es que el archivo procesa_respuesta.php funciona perfecto pero no me ejecuta el script que actualiza el div user

el script que tengo es el mismo que utilizo desde la home asi que no entiendo porque no funciona.

Última edición por sodio; 25/02/2007 a las 12:05
  #2 (permalink)  
Antiguo 26/02/2007, 07:17
 
Fecha de Ingreso: septiembre-2005
Mensajes: 20
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: No ejecuta javscript desde un AJAX invocado desde un Formulario

Si llamas asincronicamente a por AJAX, el archivo al que llamas no va a ejecutar javascript, para eso te combiene hacer que el archivo devuelva la respuesta y que el AJAX la interprete luego, es decir que si todo salio OK hagas un echo "TRUE" u sino echo "FALSE", luego con el objeto de AJAX tomas la respuesta con la propiedad "responseText", el codigo seria algo similar a:

_objetus=new ActiveXObject("Microsoft.XMLHTTP");
_objetus.open("GET",_URL_,true);
_objetus.send(null);

_objetus.onreadystatechange = function(){
if (_objetus.readyState==4)
{
if(_objetus.responseText=="TRUE"){
actualizar_DIV();
}
else{
alert("Surgio un error al enviar el mensaje.");
}

}
}
  #3 (permalink)  
Antiguo 28/02/2007, 09:27
 
Fecha de Ingreso: diciembre-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 17
Antigüedad: 21 años, 4 meses
Puntos: 0
Re: No ejecuta javscript desde un AJAX invocado desde un Formulario

Cita:
Iniciado por venommdt Ver Mensaje
Si llamas asincronicamente a por AJAX, el archivo al que llamas no va a ejecutar javascript, para eso te combiene hacer que el archivo devuelva la respuesta y que el AJAX la interprete luego, es decir que si todo salio OK hagas un echo "TRUE" u sino echo "FALSE", luego con el objeto de AJAX tomas la respuesta con la propiedad "responseText", el codigo seria algo similar a:

_objetus=new ActiveXObject("Microsoft.XMLHTTP");
_objetus.open("GET",_URL_,true);
_objetus.send(null);

_objetus.onreadystatechange = function(){
if (_objetus.readyState==4)
{
if(_objetus.responseText=="TRUE"){
actualizar_DIV();
}
else{
alert("Surgio un error al enviar el mensaje.");
}

}
}
Gracias venommdt!!!

Lo que no se ahora es como en la funcion actualizar_DIV(); actualizo la capa.

Gracias una vez mas
  #4 (permalink)  
Antiguo 01/03/2007, 10:57
 
Fecha de Ingreso: septiembre-2005
Mensajes: 20
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: No ejecuta javscript desde un AJAX invocado desde un Formulario

Para actualizar el DIV, debes de colocarle un ID al DIV, y desde javascript pones NombreDIV.innerHTML = "texto HTML";
El innerHTML elimina el contenido previo de un objeto, en este caso el DIV llamado NombreDIV, y lo reemplaza por otro contenido indicado ("texto HTML").

Para tomar la referencia del objeto depende la forma de hacerlo de acuerdo al navegador que se utilice, es decir, para IE utilizas "document.all['NombreDIV']", para NetScape y Mozilla utilizas document.getElementById("NombreDIV").
  #5 (permalink)  
Antiguo 01/03/2007, 12:03
 
Fecha de Ingreso: diciembre-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 17
Antigüedad: 21 años, 4 meses
Puntos: 0
Re: No ejecuta javscript desde un AJAX invocado desde un Formulario

Cita:
Iniciado por venommdt Ver Mensaje
Para actualizar el DIV, debes de colocarle un ID al DIV, y desde javascript pones NombreDIV.innerHTML = "texto HTML";
El innerHTML elimina el contenido previo de un objeto, en este caso el DIV llamado NombreDIV, y lo reemplaza por otro contenido indicado ("texto HTML").

Para tomar la referencia del objeto depende la forma de hacerlo de acuerdo al navegador que se utilice, es decir, para IE utilizas "document.all['NombreDIV']", para NetScape y Mozilla utilizas document.getElementById("NombreDIV").
ok todo bien pero....

No se supone que _objetus.responseText, tiene el contenido del archivo que traje en _objetus.open("GET",_URL_,true);?

En el codigo que me pasaste estas preguntando si responseText=="TRUE" y eso nunca va a ser verdadero.
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:34.