Witam.
Kombinuje jak można by stworzyć shoutboxa w AJAX i mam pewien problem. Ponieważ wyświetla mi formularz z przyciskiem oraz polem tekstowym 2 razy.
Kod mam następujący:
  1. <html>
  2. <head>
  3. <script language=javascript>
  4. var object = false;
  5.  
  6. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  7. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  8.  
  9. function getData(dataSource, divID)
  10. {
  11. if (object.readyState==4 || object.readyState==0)
  12. {
  13. var obj = document.getElementById(divID);
  14. object.open("GET", dataSource);
  15. object.onreadystatechange = function()
  16. {
  17. if (object.readyState == 4 && object.status == 200)
  18. obj.innerHTML= object.responseText;
  19. }
  20. object.send(null);
  21. }
  22. }
  23.  
  24. function odswiezaj()
  25. {
  26. getData('shoutbox.php','tekst');
  27. setTimeout("odswiezaj()", 1000);
  28. }
  29.  
  30. </script>
  31. </head>
  32. <body bgcolor="green">
  33. <?
  34.  
  35. try
  36. {
  37. $db = new PDO('mysql:host=localhost;dbname=czat', 'root', '');
  38. $db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  39. $pytanie = $db -> query('SELECT * FROM wiadomosci ORDER BY id DESC');
  40. echo '<div id="tekst">';
  41. while($row = $pytanie -> fetch()){
  42. echo'<table border="1">
  43. <tr><td><font size="1"><b>Napisal: </b>'.$row['autor'].'</font></td></tr>
  44. <tr><td width="150"><font size="2">'.$row['tresc'].'</font></td></tr>
  45. <tr><td><p align="right"><font size="1"><b>Data:</b>'.$row['data'].'</font></p></td></tr>
  46. </table>';
  47. }
  48. echo '</div>';
  49. <form method="post" action="shoutbox.php" enctype="multipart/form-data">
  50. <input type="text" name="tekst" size="28" style="font-size: 7pt; font-family: Tahoma; font-weight: bold" /><br>
  51. <input type="submit" name="submit" value="Wyslij" style="font-size: 6pt; font-family: Tahoma; font-weight: bold" />
  52. </form>';
  53. }
  54. catch(PDOException $e)
  55. {
  56. echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
  57. }
  58.  
  59. ?>
  60. <script language=javascript>
  61. odswiezaj();
  62. </script>
  63. </body>
  64. </html>


Co mozna zrobić by nie pokazywało podwójnie formularza?