getElementById(var) werkt niet? - AJAX

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis

Dennis

22/04/2009 14:18:00
Quote Anchor link
Hey mensen,
Even een vraagje over het volgende AJAX script.
Ik probeerde een functie te maken waarmee je een waarde en een plaats meegeeft waarin de uitvoer van de functie showHints komt.
De eerste

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    alert("Plaats is: " + plaats);

werkt.
De tweede echter wordt niet uitgevoerd.

Ik heb dit script uitgetest, zonder de variabele plaats en dan een id van een div opgegeven.
Dan doet dit script het wel, een beetje gek.

Ik wil echter een algemene functie maken waarmee ik niet gebonden ben aan 1 div naam, vandaar de var plaats.

Heb ook gegoogled, meerdere mensen hebben dit probleem, ik heb echter nergens een werkende oplossing gezien, vandaar
dat jullie misschien kunnen helpen?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<script type="text/javascript">
function showHints(zoekterm,plaats)
{
    if(zoekterm.length == 0)
    {
        document.getElementedById(plaats).innerHTML = "";
        return;
    }
    xmlHttp = GetXmlHttpObject();
    
    if(xmlHttp == null)
    {
        window.alert("Sorry, maar u kunt geen AJAX-functies gebruiken");
        return;
    }
    else
    {            
        var url = "zoeknaam.php";
        url = url + "?zoekterm=" + zoekterm;
        url = url + "&rand=" + Math.random();
        xmlHttp.onreadystatechange = stateChanged(plaats);
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
        
    }
}


function GetXmlHttpObject()
{
    var xmlHttp=null;
    try
    {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
        // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
         catch (e)
        {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    
    if(!xmlHttp)
    {
        alert("Sommige functies zijn niet beschikbaar");
    }
    
    return xmlHttp;
}


function stateChanged(plaats)
{
        alert("Plaats is: " + plaats);        
    if (xmlHttp.readyState == 4)
    {     
        alert("Plaats is: " + plaats);    
        document.getElementById(plaats).innerHTML=xmlHttp.responseText;
    }
}
</script>


Bij voorbaat bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Dennis
 
PHP hulp

PHP hulp

08/12/2021 09:56:52
 
Jelmer -

Jelmer -

22/04/2009 16:36:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
xmlHttp.onreadystatechange = stateChanged(plaats);

Nu wordt stateChanged direct uitgevoerd, en wordt het resultaat van die functie aan onreadystatechange toegewezen. Wat jij zoekt is
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
xmlHttp.onreadystatechange = function() {
    stateChanged(plaats);
};
 
Dennis

Dennis

26/04/2009 16:21:00
Quote Anchor link
Ja super bedankt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.