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

Actualizar contenido de una capa mediante Ajax

Estas en el tema de Actualizar contenido de una capa mediante Ajax en el foro de Frameworks JS en Foros del Web. Saludos a todos Estoy empezando con esto de Ajax y me encuentro con un error que no se como resolver. Inserto un elemento en una ...
  #1 (permalink)  
Antiguo 18/06/2009, 04:16
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 19 años, 9 meses
Puntos: 0
Actualizar contenido de una capa mediante Ajax

Saludos a todos

Estoy empezando con esto de Ajax y me encuentro con un error que no se como resolver.

Inserto un elemento en una base de datos mediante Php. Despues de insertarlo pido que me devuelva un listado de la base de datos y que se muestre en una capa.

El problema que tengo es que nada más mostrarme el resultado en la capa, me lo vuelve a borrar.

Aquí os dejo el código por si me podeis echar una mano

function anadeCategoria(){
if(objXML){

frmCat = document.getElementById('frCategorias');
strContenido = frmCat.elements[0].id + "=" + frmCat.elements[0].value;

capaCat = document.getElementById('categoria');

objXML.open('POST', 'categoriaAnade.php', false);
objXML.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
objXML.setRequestHeader('Content-Length', strContenido.length);
objXML.send(strContenido);

capaCat.innerHTML = '<p>' + objXML.responseText + '</p>';
alert("2222");
}
}


El objeto objXML lo creo mediante otra función nada más cargar la página.

Me carga bien la base de datos y me devuelve el resultado en la capa que corresponde. Ese alert que coloco al final es para que se detenga el script. De ese modo he visto que se carga correctamente, pero en cuanto acepto el alert me deja la capa frCategorias otra vez en blanco.

Gracias por la ayuda.
  #2 (permalink)  
Antiguo 18/06/2009, 09:49
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Actualizar contenido de una capa mediante Ajax

Prueba asi...

Código javascript:
Ver original
  1. function anadeCategoria(){
  2.   if(objXML){
  3.  
  4.     frmCat = document.getElementById('frCategorias');
  5.     strContenido = frmCat.elements[0].id + "=" + frmCat.elements[0].value;
  6.  
  7.     capaCat = document.getElementById('categoria');
  8.  
  9.     objXML.open('POST', 'categoriaAnade.php', false);
  10.     objXML.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  11.     objXML.setRequestHeader('Content-Length', strContenido.length);
  12.     objXML.send(strContenido);
  13.     objXML.onreadystatechange=function() {
  14.       if (objXML.readyState==4) {
  15.         capaCat.innerHTML = '<p>' + objXML.responseText + '</p>';
  16.       }
  17.     }
  18.  
  19.   }
  20. }

Saludos
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!
  #3 (permalink)  
Antiguo 22/06/2009, 03:05
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: Actualizar contenido de una capa mediante Ajax

Buenos días, matak.

Lo primero disculparme por no agradecerte antes. He estado un poco liado y no he podido responder.

Tampoco me funciona así. No sé que será. De todos modos voy a tener que dejar aparcado el Ajax por una temporada.

Me ha servido mucho lo que me facilitaste porque me has mostrado un error de novato enorme. Tengo que controlar el estado en que se encuentra la petición y cuando sea igual a 4, entonces mostrar el mensaje.

Bueno, cuando tenga un rato seguiré investigando con Ajax.

Gracias por la respuesta.

Saludos
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 07:23.