[Ajax] Wert an Funktion übergeben

moistwanted

Erfahrenes Mitglied
Hi Leute!

Hab mal ne Frage:

Hab auf meiner Seite eine Tabelle und will jetzt beim Klicken auf eine Spalte drunter weitere Infos einblenden. Das Ganze soll per AJAX funktionieren.

Code:
<!--
var http_request = false;

function makeRequest(url, element) {

    http_request = false;
    ele = 'show_pm_' + element;

    document.getElementById(ele).style.display='';

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } 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('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }

    http_request.onreadystatechange = alertContents;
    http_request.open('GET', url, true);
    http_request.send(null);

}

function alertContents() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            document.getElementById("show_pm").innerHTML = http_request.responseText;
        } else {
            alert('Could not find File!');
        }
    }

}
//-->

Soweit funktionier das auch. Mein Problem ist nur, dass ich der Funktion alertContents() noch element mit übergeben möchte. Habs schon so probiert, funktioniert aber nicht:

Code:
<!--
var http_request = false;

function makeRequest(url, element) {

    http_request = false;
    ele = 'show_pm_' + element;

    document.getElementById(ele).style.display='';

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } 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('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }

    http_request.onreadystatechange = alertContents(element);
    http_request.open('GET', url, true);
    http_request.send(null);

}

function alertContents(element) {
    ele = 'show_pm_' + element;

    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            document.getElementById(ele).innerHTML = http_request.responseText;
        } else {
            alert('Could not find File!');
        }
    }

}
//-->

Kann mir jemand sagen wie ich das hinbekomme?

Vielen Dank schonmal!
 
Hi,

versuch es mal mit einer anonymen Funktion:
Code:
http_request.onreadystatechange = function(){ alertContents(element);};
Ciao
Quaese
 

Neue Beiträge

Zurück