SmileyTom: Newbie :-) hat Probleme mit Javascript

Beitrag lesen

Hi,

ich habe mich mit SelfHTML und Google bisher gut durchgemogelt. Aber nun komme ich einfach nicht weiter :-( Folgendes Problem:

Ich habe eine Website auf der mehrere HTML <divs> asynchron aktualisiert werden sollen. Dazu habe ich nun folgendes Script zusammen geschustert. Es funktioniert soweit auch schon für ein div. wenn ich nun aber ein weiteres hinzufüge, wird immer nur das letzte aktualisiert. Ich vermute mal, ich müsste das ganze noch irgendwie in ein übergeordnetes Objekt packen, damit jedesmal ein neues Kind erstellt wird. Aber wie?
Ihr habt bestimmt eine Idee :-)

Hier also der Code:

<script type="text/javascript" language="javascript">  
  
    var http_request = false;  
  
    function macheRequest(url, elementid) {  
          http_request = false;  
  
        if (window.XMLHttpRequest) { // Mozilla, Safari,...  
            http_request = new XMLHttpRequest();  
            if (http_request.overrideMimeType) {  
                http_request.overrideMimeType('text/xml');  
                // zu dieser Zeile siehe weiter unten  
            }  
        } else if (window.ActiveXObject) { // IE  
            try {  
                http_request = new ActiveXObject("Msxml2.XMLHTTP");  
            } catch (e) {  
                try {  
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");  
                } catch (e) {}  
            }  
        }  
  
        if (!http_request) {  
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');  
            return false;  
        }  
        http_request.open('GET', url, true);  
  
  http_request.urlaktuell = url;  
  http_request.elementid = elementid;  
        http_request.onreadystatechange = alertInhalt;  
  
        http_request.send(null);  
    }  
  
    function alertInhalt() {  
        if (http_request.readyState == 4) {  
              var answer = http_request.responseText;  
     var urlnowaktuell = http_request.urlaktuell;  
     var elementidaktuell = http_request.elementid;  
                document.getElementById(elementidaktuell).innerHTML = answer;  
  
                setTimeout("macheRequest('" + urlnowaktuell + "', '" + elementidaktuell + "')",2000);  
  
        }  
  
    }  
</script>  

soweit so gut... Das ganze Rufe ich dann wie folgt auf:

  
<script type="text/javascript">  
macheRequest('objects/sonnenschutz.php', 'sonnenschutz');  
//macheRequest('objects/lichtkino.php', 'lichtkino');  
</script>  

den ersten Request (Sonnenschutz) macht er auch. Aber sobald ich das zweite (LichtKino) einfüge wird nur noch die lichtkino.php geholt und für den Sonnenschutz interessiert 'er' sich nicht mehr :-(
Ich übergebe der Funktion 'macheRequest' immer die URL und die ID des divs welches er aktualisieren soll.

Gruß
Tommy