login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Ajax (Opgelost)

Offline Pellens - 22/04/2008 21:28 (laatste wijziging 22/04/2008 21:37)
Avatar van PellensPHP interesse Ik heb het volgende script gemaakt:

  1. <script type="text/javascript">
  2. function createREQ()
  3. {
  4. var req = false;
  5. try {
  6. req = new XMLHttpRequest(); // firefox, safari, …
  7. }
  8. catch (err1) { try {
  9. req = new ActiveXObject("Msxml2.XMLHTTP"); // sommige IE
  10. }
  11. catch (err2) { try {
  12. req = new ActiveXObject("Microsoft.XMLHTTP"); // meeste IE
  13. }
  14. catch (err3) {
  15. req = false;
  16. alert("Deze browser ondersteunt geen Ajax.");
  17. }}}
  18. return req;
  19. }
  20.  
  21. function kalenderAdd(waardeId,sessionId)
  22. {
  23. var http = createREQ();
  24.  
  25. var rand = parseInt(Math.random()*999999);
  26. var url = "ajax_kalender_add.php?id=" + waardeId + "&lid=" + sessionId + "&random=" + rand;
  27.  
  28. var div = document.getElementById('kalender');
  29.  
  30. http.onreadystatechange = function()
  31. {
  32. var controle = http.responseText.substr(0,2);
  33. if(http.readyState == 4)
  34. {
  35. if(controle == "OK") div.innerHTML = "<p><img src='images/icons/calendar.png' align='absmiddle'> Toegevoegd aan je kalender!</p>";
  36. else div.innerHTML = "Probleem!</p>";
  37. }
  38. else
  39. {
  40. div.innerHTML = "<p><img src='images/icons/loading.gif' id='load_kal' align=absmiddle height=16> Toevoegen...</p>";
  41. }
  42. }
  43.  
  44. http.open("GET", url);
  45. http.send(null);
  46. }
  47.  
  48. function ophalen(waardeId,sessionId)
  49. {
  50. var http = createREQ();
  51.  
  52. var rand = parseInt(Math.random()*999999);
  53. var url = "ajax_kalender.php?id=" + waardeId + "&lid=" + sessionId + "&random=" + rand;
  54.  
  55. var div = document.getElementById('kalender');
  56.  
  57. http.onreadystatechange = function()
  58. {
  59. var waarde = http.responseText;
  60. if(http.readyState == 4)
  61. {
  62. if(waarde == waardeId) div.innerHTML = "<p><img src='images/icons/calendar.png' align='absmiddle'> Reeds toegevoegd</p>";
  63. else div.innerHTML = "<p><img src='images/icons/calendar.png' align='absmiddle'><a onclick='kalenderAdd(waardeId,sessionId)'>Toevoegen aan kalender</a></p>";
  64. }
  65. else
  66. {
  67. div.innerHTML = "<p>Controleren...</p>";
  68. }
  69. }
  70.  
  71. http.open("GET", url);
  72. http.send(null);
  73. }
  74.  
  75. </script>


Mijn html:

  1. <body onload="ophalen(<?php print($_GET[id].",".$_SESSION[id]);?>)">
  2.  
  3. <div id="kalender"></div>
  4.  
  5. </body>


Het de functie ophalen() werkt perfect, maar wanneer ik dan wil toevoegen aan de kalender doet ie het niet...

Kan iemand mij verder helpen waar ik in de fout ga? (Line 63/64?)

Alvast bedankt

2 antwoorden

Gesponsorde links
Offline Stijn - 23/04/2008 00:40
Avatar van Stijn PHP expert var http en var div moeten buiten de functie ophalen() staan.

  1. var http = create...();
  2. var div = document.getElement...();
  3.  
  4. functon ophalen(...)


De onreadystatechange kan je een functie geven die buiten de ophalen functie is gedefineerd.

  1. http.onreadystatechange = func;
  2. ...
  3. function func()
  4. {
  5.  
  6. if( http.readyState == 4 )
  7. ....
Offline Pellens - 23/04/2008 12:15
Avatar van Pellens PHP interesse var http en var div moeten volgens mij toch niet buiten de functie ophalen() staan hoor...

Het probleem zit em bij de functie kalenderAdd()...

Ophalen() kijkt op het item al in de databank zit:
- zoja: 'Reeds toegevoegd'
- zonee: 'Voeg toe aan kalender'

Enkel vanaf 'Voeg toe aan kalender' loopt het ergens mis...
Is dit mss fout genoteerd?

  1. <a onclick='kalenderAdd(waardeId,sessionId)'>Toevoegen aan kalender</a>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.177s