login  Naam:   Wachtwoord: 
Registreer je!
 Forum

xmlhttp - Functie een waarde mee geven werkt niet. (Opgelost)

Offline Nrzonline - 14/06/2007 13:46 (laatste wijziging 14/06/2007 13:51)
Avatar van NrzonlinePHP ver gevorderde Hey SiMa Leute,

Ik heb een probleem met het mee geven van een waarde aan een functie. Ik heb het volgende stukje code:
  1. <? #kleur
  2. function viewDiv (sUrl)
  3. {
  4. if (window.XMLHttpRequest) // Mozilla Firefox, Safare, etc.
  5. {
  6. xmlhttp = new XMLHttpRequest ();
  7. xmlhttp.onreadystatechange = postFileReady; // PostFileReady functie
  8. xmlhttp.open ("GET", sUrl+'?jsinclude=TRUE', true);
  9. xmlhttp.send (null);
  10. }
  11. else if (window.ActiveXObject) // Internet Explorer
  12. {
  13. xmlhttp = new ActiveXObject ('Microsoft.XMLHTTP');
  14. if (xmlhttp)
  15. {
  16. xmlhttp.onreadystatechange = postFileReady;
  17. xmlhttp.open ('GET', sUrl+'?jsinclude=TRUE', true);
  18. xmlhttp.send ();
  19. }
  20. }
  21. }
  22. function postFileReady ()
  23. {
  24. if (xmlhttp.readyState == 4)
  25. {
  26. if (xmlhttp.status == 200)
  27. {
  28. document.getElementById('viewDiv').innerHTML = xmlhttp.responseText;
  29. if (document.getElementById('viewDiv').style.display == 'none')
  30. {
  31. document.getElementById('viewDiv').style.display = 'block'
  32. }
  33. }
  34. }
  35. }


Nu wil ik de postFileReady functie een waarde mee gaan laten geven. Dus ik dacht, ik gebruik je function haakjes met een waarde: functie (waarde);
  1. <? kleur
  2. xmlhttp.onreadystatechange = postFileReady (1);
  3.  
  4. function postFileReady (iLayer)
  5. {
  6. //rest func
  7. }

Maar op het moment dat ik dat doe, houdt hij het mooi voor gezien.

Hoe kan ik nu er voor zorgen dat ik een waarde mee kan gaan geven aan de postFileReady functie? Dit heb ik nodig ivm met het aanduiden welke div hij moet gebruiken voor de popup.

Alvast erg bedankt,
Edwin ter Horst (Nrzonline)

2 antwoorden

Gesponsorde links
Offline ArndJan - 14/06/2007 13:50 (laatste wijziging 14/06/2007 13:51)
Avatar van ArndJan PHP interesse Ik weet wel een oplossing maar... het is misschien niet zoals je wilt:

  1. var waarde = '';
  2.  
  3. ....
  4.  
  5. waarde = '(1)';
  6. xmlhttp.onreadystatechange = postFileReady;
  7.  
  8. function postFileReady
  9. {
  10. //rest func
  11. alert(waarde);
  12.  
  13. ....
  14.  
  15. }


Je moet de variabele buiten de functie aanmaken dan kun je in een functie een waarde toekennen en in een andere functie die waarde uitlezen, een soort global.
Offline Nrzonline - 14/06/2007 13:55 (laatste wijziging 14/06/2007 14:46)
Avatar van Nrzonline PHP ver gevorderde Bedankt voor je reactie, maar hij werkt nog niet geheel...

*edit* Hij blijft de iLayer maar niet weergeven in de alert... 
*edit2* Hij werkt nu wel, ik had ook 'var' voor de tweede iLayer staan, waardoor het mis ging.. echt super bedankt!
  1. <? kleur
  2. // Set empty iLayer Var.
  3. var iLayer = ''
  4.  
  5. function viewDiv (sUrl)
  6. {
  7. iLayer = 'galalulultestkees'; # hier had ik nog 'var' voor staan :x
  8. if (window.XMLHttpRequest) // Mozilla Firefox, Safare, etc.
  9. {
  10. xmlhttp = new XMLHttpRequest ();
  11. xmlhttp.onreadystatechange = postFileReady;
  12. xmlhttp.open ("GET", sUrl+'?jsinclude=TRUE', true);
  13. xmlhttp.send (null);
  14. }
  15. // Script ingekort
  16. }
  17. function postFileReady ()
  18. {
  19. alert (iLayer); # Geeft geen iLayer weer...
  20. // Script ingekort
  21. }


Ok, nu zodanig het script aangepast dat het werkt zoals ik wil. Perfect! Nogmaals, bedankt! (Solved!)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.212s