Kleines Problem mit Übergabe von Variablen
Hallo,
ich habe mir ein kleines Script gebaut mit welchem ich Web2.0 like Inhalte in DIVs laden kann. Leider habe ich an einer Stelle ein Problem und bin mir unsicher warum dieses auftritt. Aber seht selbst:
Funktionierende Version meines Scripts:
Aufruf durch:
Code:
Nun möchte ich aber auch die ID des zu füllenden DIVs gleich im Aufruf mitgeben:
Also Aufruf durch:
Code:
Das Problem liegt in Zeile 21. Hier ist es scheinbar nicht möglich meiner Funktion "handleHttpResponse" eine Variabele mitzugeben.
Ich hoffe ihr könnt mir helfen.
Grüße aus Hannover
kami
ich habe mir ein kleines Script gebaut mit welchem ich Web2.0 like Inhalte in DIVs laden kann. Leider habe ich an einer Stelle ein Problem und bin mir unsicher warum dieses auftritt. Aber seht selbst:
Funktionierende Version meines Scripts:
Aufruf durch:
onclick="getcontent('content_offen.php');">
Code:
function getHTTPObject()
{
var xmlhttp;
if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
{
try
{
xmlhttp = new XMLHttpRequest();
}
catch (e)
{
xmlhttp = false;
}
}
return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object
function getcontent(url)
{
http.open("GET", url, true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
function handleHttpResponse()
{
var target = 'content';
if (http.readyState == 4)
{
if (http.responseText == undefined)
{
document.getElementById(target).innerHTML = '';
}
else
{
document.getElementById(target).innerHTML = http.responseText;
}
}
}
Nun möchte ich aber auch die ID des zu füllenden DIVs gleich im Aufruf mitgeben:
Also Aufruf durch:
onclick="getcontent('content_offen.php'##red|,'content'##);">
Code:
function getHTTPObject()
{
var xmlhttp;
if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
{
try
{
xmlhttp = new XMLHttpRequest();
}
catch (e)
{
xmlhttp = false;
}
}
return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object
function getcontent(url,target)
{
http.open("GET", url, true);
http.onreadystatechange = handleHttpResponse(target);
http.send(null);
}
function handleHttpResponse(target)
{
if (http.readyState == 4)
{
if (http.responseText == undefined)
{
document.getElementById(target).innerHTML = '';
}
else
{
document.getElementById(target).innerHTML = http.responseText;
}
}
}
Das Problem liegt in Zeile 21. Hier ist es scheinbar nicht möglich meiner Funktion "handleHttpResponse" eine Variabele mitzugeben.
Ich hoffe ihr könnt mir helfen.
Grüße aus Hannover
kami
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136249
Url: https://administrator.de/forum/kleines-problem-mit-uebergabe-von-variablen-136249.html
Ausgedruckt am: 23.12.2024 um 01:12 Uhr
7 Kommentare
Neuester Kommentar
Bei der Formatierung weigere ich mich, den Text auch nur durchzulesen...
Ausserdem: ist onreadystatechange nicht ein event?
Events kannst du doch keinen Rückgabewert aus einem Funktionsaufruf zuweisen.
€dit:
Ausserdem kannst du mal hier schauen.
Ausserdem: ist onreadystatechange nicht ein event?
Events kannst du doch keinen Rückgabewert aus einem Funktionsaufruf zuweisen.
€dit:
Ausserdem kannst du mal hier schauen.
... dann lass Dir mal target in der Funktion handleHttpResponse mit alert() ausgeben.
Allgemein glaube ich das Du mal paar Ausgaben einbauen solltest (oder anderweitig dein Code debugst ( https://addons.mozilla.org/de/firefox/addon/1843 )
btw. Bitte auf die Darstellung achten bevor Du deinen Code abschickst.
Allgemein glaube ich das Du mal paar Ausgaben einbauen solltest (oder anderweitig dein Code debugst ( https://addons.mozilla.org/de/firefox/addon/1843 )
btw. Bitte auf die Darstellung achten bevor Du deinen Code abschickst.
Events kannst du doch keinen Rückgabewert aus einem Funktionsaufruf zuweisen
... ist schon OK so - wenn das Event auftritt wird die zugewiesene Funktion aufgerufen.
schau mal da: http://de.selfhtml.org/javascript/objekte/function.htm
http.onreadystatechange = function(target)
{
if (http.readyState == 4) {
if (http.responseText == undefined) {
document.getElementById(target).innerHTML = '';
} else {
document.getElementById(target).innerHTML = http.responseText;
}
}
}