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
echo "<script type=\"text/javascript\">"; echo "setInterval(\"contactos()\", 3000)"; echo "</script>";
Y en el JavaScript una función contactos() con AJAX que hace lo siguiente:
Código Javascript:
Ver original
var divPersonal=document.getElementById('personal'); var nombre=peticion_http.responseText; var resul=eval("("+nombre+")"); if(peticion_http.readyState == 4) { //Y no es una respuesta de error if(peticion_http.status == 200) { for(i=0;i<resul.length;i++){ var boton=document.createElement("input"); boton.setAttribute('type','button'); boton.setAttribute('id',resul[i]); boton.setAttribute('value',resul[i]); divPersonal.appendChild(boton); } } }
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.