login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[AJAX]Probleem

Offline Syncie - 27/08/2006 15:41 (laatste wijziging 27/08/2006 15:58)
Avatar van SyncieNieuw lid Heyz..
Ik heb een bestand dat heet ajax.js
De code:
  1. function CreateRequestObject(){
  2. var ret;
  3.  
  4. if(window.XMLHttpRequest){
  5. ret = XMLHttpRequest;
  6. }else if(window.ActiveXObject){
  7. ret = window.ActiveXObject;
  8. }else{
  9. alert('Your browser doesn\'t work with AJAX. \n Please take a browser that works with AJAX. Such as Mozilla Firefox.');
  10. }
  11.  
  12. return ret;
  13. }
  14.  
  15. function SendRequest(what){
  16. http.open('post', 'index.php?page='+what);
  17. http.onReadyStateChange = HandleResponse;
  18. http.send(null);
  19. }
  20.  
  21. function HandleResponse(){
  22. if(http.ReadyState == 4 && http.status == 200){
  23. if(http.ResponseText){
  24. document.GetElementsById('add_message') .innerHTML = http.ResponseText;
  25. }else{
  26. document.GetElementsById('add_message') .innerHTML = '&nbsp';
  27. }
  28. }else{
  29. document.GetElementsById('add_message') .innerHTML = '&nbsp';
  30. }
  31. }


En een index.
Gedeelte van de code:
  1. <script src="includes/js/ajax.js" type="text/javascript"></script>
  2. <script language="javascript">
  3. CreateRequestObject();
  4. </script>
  5.  
  6. <div id="add_message">
  7. </div>
  8.  
  9. <form method="post" action="index.php?page=add_message" name="add_reaction" onsubmit="SendRequest(\'add_message\')">


Alleen het werkt niet...
Hij moet dus het bericht posten zonder de pagina te herladen.. Doettie niet...

Ik ben net begonenn met AJAX...

Iemand enig idee wat er fout is?

Ty alvast.

12 antwoorden

Gesponsorde links
Offline lemoinet - 27/08/2006 15:45
Avatar van lemoinet PHP gevorderde
if(window.XMLHttpRequest){
ret = XMLTttpRequest;

=>

if(window.XMLHttpRequest){
ret = XMLHttpRequest;
Offline Syncie - 27/08/2006 15:49
Avatar van Syncie Nieuw lid THanks maar het probleem is nog niet opgelost...
Offline lemoinet - 27/08/2006 15:51
Avatar van lemoinet PHP gevorderde function SendRequest(what){
http.open('post', 'index.php?page='+what);
http.onReadyStateChange = HandleResponse;
http.snel(null);
}

=>

function SendRequest(what){
ret.open('post', 'index.php?page='+what);
ret.onReadyStateChange = HandleResponse;
ret.snel(null);
}
Offline Syncie - 27/08/2006 15:52 (laatste wijziging 27/08/2006 15:53)
Avatar van Syncie Nieuw lid snel = send
Heb het veranderd maar het probleem is nog niet opgelost...
Offline lemoinet - 27/08/2006 15:54
Avatar van lemoinet PHP gevorderde
  1. function CreateRequestObject(){
  2. var ret;
  3.  
  4. if(window.XMLHttpRequest){
  5. ret = XMLHttpRequest;
  6. }else if(window.ActiveXObject){
  7. ret = window.ActiveXObject;
  8. }else{
  9. alert('Your browser doesn\'t work with AJAX. \n Please take a browser that works with AJAX. Such as Mozilla Firefox.');
  10. }
  11.  
  12. return ret;
  13. }
  14.  
  15. function SendRequest(what){
  16. ret.open('post', 'index.php?page='+what);
  17. ret.onReadyStateChange = HandleResponse;
  18. ret.send(null);
  19. }
  20.  
  21. function HandleResponse(){
  22. if(ret.ReadyState == 4 && ret.status == 200){
  23. if(ret.ResponseText){
  24. document.GetElementsById('add_message').innerHTML = ret.ResponseText;
  25. }else{
  26. document.GetElementsById('add_message').innerHTML = '&nbsp';
  27. }
  28. }else{
  29. document.GetElementsById('add_message').innerHTML = '&nbsp';
  30. }
  31. }
Offline Syncie - 27/08/2006 15:57
Avatar van Syncie Nieuw lid Wekt ook niet ret moet trouwes egt http. zijn
Offline Ontani - 27/08/2006 15:57
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
form action zou ik ook weg doen. Anders gaat ie nog gewoon naar een andere pagina gaan.
Offline Syncie - 27/08/2006 16:05
Avatar van Syncie Nieuw lid Action moet erinzitten... anders issiej niet XHTML 1.0 Transitional valid...
Offline Ontani - 27/08/2006 16:14
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
mja door die action gaat ie dus wel naar een andere pagina gaan.
dan kan je dit nog doen:
  1. onsubmit="SendRequest(\'add_message\'); return false;"
Offline Syncie - 27/08/2006 16:18
Avatar van Syncie Nieuw lid helpt ook niet
Offline ThAlmighty - 27/08/2006 17:03
Avatar van ThAlmighty HTML beginner wat dacht je van het Interactive Website Framework. Dat heeft precies wat jij wilt 
Offline timmie_loots - 27/08/2006 17:27 (laatste wijziging 27/08/2006 17:28)
Avatar van timmie_loots PHP gevorderde Volgens mij wordt er sowieso niks meegestuurd. Je submit het formulier niet, en ik zie nergens iets waardoor de waardes van het formulier verstuurd worden. Voor zover ik weet is het niet zo dat als je op submit drukt, en dan een XMLHttpRequest verstuurd met post, dat het formulier meegestuurd wordt.

Ik raad je aan om AdvancedAJAX te gebruiken, daarmee kun je heel gemakkelijk AJAX gebruiken, en is het ook héél makkelijk om zoiets wat jij hebt werkend te maken.

Een voorbeeldje (met AdvAJAX):
Javascript:
  1. function postMessage()
  2. {
  3. advajax.post({
  4. url : "index.php?action=add_message",
  5. parameters : {
  6. "title" : document.getElementById('veld_titel'),
  7. "content" : document.getElementById('veld_content')
  8. },
  9. onSucces : function(obj) { document.getElementById('add_message').innerHTML = obj.ResponseText; }
  10. }
  11.  
  12. return true;
  13. }


HTML
  1. <script type="text/javascript" src="js/advajax.js"></script>
  2. <script type="text/javascript" src="js/eigen_javascript.js"></script>
  3.  
  4. <div id="add_message"></div>
  5.  
  6. <div id="add_message_form">
  7. <label for="veld_title">Titel:<br />
  8. <input type="text" name="title" id="veld_title" />
  9. </label>
  10.  
  11. <label for="veld_content">Inhoud:<br />
  12. <input type="text" name="content" id="veld_content" />
  13. </label>
  14.  
  15. <input type="button" onclick="postMessage();">
  16. </div>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.287s