Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/07/2010, 07:38
nachin86
 
Fecha de Ingreso: septiembre-2006
Mensajes: 19
Antigüedad: 18 años, 2 meses
Puntos: 0
Actualizar con setInterval

Hola, a ver si me podeis echar una mano.

Tengo una lista de usuarios de un chat que los extraigo con AJAX y los muestro en un div determinado. Los usuarios son botones simplemente. Quiero que cada 3 segundos me ejecute la función y me sobreescriba lo que escribió 3 segundos antes y no que me lo concatene.

Tengo lo siguiente:

Código PHP:
Ver original
  1. echo "<script type=\"text/javascript\">";
  2. echo "setInterval(\"contactos()\", 3000)";
  3. echo "</script>";

Y en el JavaScript una función contactos() con AJAX que hace lo siguiente:

Código Javascript:
Ver original
  1. var divPersonal=document.getElementById('personal');
  2.           var nombre=peticion_http.responseText;
  3.           var resul=eval("("+nombre+")");
  4.         if(peticion_http.readyState == 4) {
  5.           //Y no es una respuesta de error
  6.           if(peticion_http.status == 200) {
  7.             for(i=0;i<resul.length;i++){
  8.                 var boton=document.createElement("input");
  9.                 boton.setAttribute('type','button');
  10.                 boton.setAttribute('id',resul[i]);
  11.                 boton.setAttribute('value',resul[i]);
  12.                 divPersonal.appendChild(boton);
  13.             }
  14.           }
  15.         }

Entonces cada 3 segundos lo que me hace es añadirme botones a los que ya tenía en lugar de borrar los que ya no existen y mantener los que siguen existiendo y agregar los nuevos que es lo que realmente quiero.

¿Cómo puedo hacer?

Probé alguna cosa con deleteChild pero es que entonces no me llega siquiera a mostrar los botones.

Gracias.

Última edición por nachin86; 01/07/2010 a las 08:17