Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/12/2011, 10:30
breaststroke
 
Fecha de Ingreso: octubre-2010
Mensajes: 189
Antigüedad: 13 años, 7 meses
Puntos: 0
document.getElementById().innerHTML=xmlhttp.respon seText;, no me está funcionando.

Hola muy buenas.

a ver si me podéis ayudar con lo siguiente.
Tengo una función Javascript, con Ajax, que me estaba funcionando bien, pero ha dejado de hacerlo, y por mucho que le doy vueltas al tema, no consigo ver porqué.
Esta es la función:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function showUser(str)
  3. {
  4. var keycode;
  5. if (window.event) keycode = window.event.keyCode;
  6. else if (e) keycode = e.which;
  7. else return true;
  8. if (keycode == 13)
  9.    {
  10. if (str=="")
  11.   {
  12.   document.getElementById("txt").innerHTML="";
  13.   return;
  14.   }
  15. if (window.XMLHttpRequest)
  16.   {// code for IE7+, Firefox, Chrome, Opera, Safari
  17.   xmlhttp=new XMLHttpRequest();
  18.   }
  19. else
  20.   {// code for IE6, IE5
  21.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  22.   }
  23. xmlhttp.onreadystatechange=function()
  24.   {
  25.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  26.   {
  27.   document.getElementById("chata").innerHTML=xmlhttp.responseText;
  28.   }
  29.   }
  30. var chap;
  31. chap=document.getElementById("txt").value;
  32. xmlhttp.open("GET","user.php?q="+chap,true);
  33. xmlhttp.send();
  34. }
  35. }
  36. </script>

Lo que me hace la función es recoger lo que escribo en un textárea con Id=text, y con ajax me abre la página user.php a la que llevo la variable chap.
Supuestamente (ésto es lo que ha dejado de hacerme) me recoge lo que tengo en html en dicha página y lo muestra en otro textárea con Id=chata.
Tengo un Echo al ppio de la otra página, osea que no sé porqué no me trae el valor.



Luego, aprovecho, ya que es una función similar.
Pretendo que con la misma función (aunque no asociada a un evento) me haga lo mismo, pero cada cierto tiempo. Entonces tendría algo así:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function timedCount()
  3. {
  4. if (window.XMLHttpRequest)
  5.   {// code for IE7+, Firefox, Chrome, Opera, Safari
  6.   xmlhttp=new XMLHttpRequest();
  7.   }
  8. else
  9.   {// code for IE6, IE5
  10.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  11.   }
  12. xmlhttp.onreadystatechange=function()
  13.   {
  14.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  15.     {
  16.     document.getElementById("chata").innerHTML=xmlhttp.responseText;
  17.     }
  18.   }
  19. var chap;
  20. chap=document.getElementById("txt").value;
  21. xmlhttp.open("GET","user2.php?q="+chap,true);
  22. xmlhttp.send();
  23. setTimeout("timedCount()",2000);
  24. }

Esta función me ha estado funcionando, pero digamos que lo que hace es mostrarme lo que tengo en la página user2.php a los dos segundos de abrir la página en la que está este script. Peroooo, lo que me gustaría es que lo hiciera cada dos segundos indefinidamente.
¿Alguna ayuda por favor?


¡Muchas gracias de antemano!