• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

JS verstehen

emmis

New member
Hallo Forum

ich möchte ein Stück Javascript verstehen. Stell mich da etwas blöde an. Habe hier ein Stück funktionierendes JS/Ajax:
Code:
function loadContent(file)
{
    xmlHttpObject.open('get',file);
    xmlHttpObject.onreadystatechange = handleContentA;
    xmlHttpObject.send(null);
    return false;
}

function handleContentA()
{
    if (xmlHttpObject.readyState == 4)
    {
        document.getElementById('myContent').innerHTML = xmlHttpObject.responseText;
    }
}

... warum aber funktioniert nicht:

Code:
function loadContent(file)
{
    xmlHttpObject.open('get',file);
    xmlHttpObject.onreadystatechange = handleContent([B]'myContent'[/B]);
    xmlHttpObject.send(null);
    return false;
}

function handleContent([B]cont[/B])
{
    if (xmlHttpObject.readyState == 4)
    {
        document.getElementById([B]cont[/B]).innerHTML = xmlHttpObject.responseText;
    }
}

... kann mir das mal jemand erklären?

LG
 
das ist eine zuweisung einer funktionsreferenz an xmlHttpObject.onreadystatechange
Code:
xmlHttpObject.onreadystatechange = handleContentA;

das ist der aufruf einer funktion und der zuweisung der returnwertes an xmlHttpObject.onreadystatechange
Code:
xmlHttpObject.onreadystatechange = handleContent('myContent');

du willst
Code:
xmlHttpObject.onreadystatechange = function()
{
  handleContent('myContent');
}

wobei xmlHttpObject bei dir eine globale variable ist. und globale variablen sollte man vermeiden.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben