maar 1 functie werkt

Status
Niet open voor verdere reacties.

amorphis

Gebruiker
Lid geworden
4 dec 2002
Berichten
122
Hallo iedereen,

Ik heb een vraagje.
Ik heb een php pagina waar een javascript file met functies wordt aangeroepen.

JS file:
Code:
function toonOef()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint2").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","haaloef.php",true);
xmlhttp.send();
}


//###############################################

function toonKlas()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint3").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","haalklas.php",true);
xmlhttp.send();
}

Deze code haalt de nodige informatie uit een database en stuurt ze door naar een div tag met de naam txtHint3 of 2 of ... wanneer ik het form submit. --> onSubmit="haalKlas();" bv

Nu is het probleem dat hij dit niet doet ... enkel als ik op het einde van dit document nog eens de functie oproep.

dus

Code:
...
    {
    document.getElementById("txtHint3").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","haalklas.php",true);
xmlhttp.send();
}

[B]haalKlas();[/B]

en als ik zowel haalKlas() en haalOef() op het einde zet voer hij enkel het laatste uit.

Ik hoop dat je een beetje kan volgend en weet hoe ik dit kan oplossen.
Zoniet roep je maar even voor meer info.

Ik zit echt vast hier :confused:

Groetjes
Bart
 
Hoi Bart,

nee, ik volg je niet helemaal. Maar ik krijg het idee dat je met een standaard probleem zit; namelijk het volgende.

Je kan niet via document.getElementxByXXXXX een element-handle verkrijgen als deze nog niet bestaat. Dat wil zeggen, dit werkt niet:
HTML:
<script>

   var handle = document.getElementById('output');   // BAM, error...

</script>

<div id='output'></div>
omdat de div met id 'output' nog niet bestond toen je het aanriep via je script.

Er zijn twee oplossingen: de eerste is al je aanroepen naar onderen verplaatsen, net voor de </body> tag; de andere is met een event handler:
HTML:
<script>

   window.onload = function()
   {
      var handle = document.getElementById('output');
      //meer code; dit werkt dus WEL.
   };

</script>

<div id='output'></div>



:thumb:



ps. Het helpt altijd als je een online voorbeeldje hebt, of anders de complete source hier neerzet (kan ook in .zip als er meerdere bestanden zijn). Also, als je Firefox gebruikt, druk dan eens op ctrl+shift+J. Je krijgt dan een error-console, waar Javascript fouten in te zien zijn. De laatste staat onderaan.
 
Ik heb mijn bestanden in een zip gestoken.

Alles draait op een lokale computer .. vandaar de root zonder paswoord bij de sql verbidning.
ik veronderstel dat je een paar errors gaan krijgen omdat je de DB niet hebt maar dat werkt hier allemaal dus ...
In ieder geval, bedankt voor je moeite al!!!

bart
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan