Dynamisches nachladen
Mr.Moe
- javascript
Guten Morgen,
ich lade mit XMLHttpRequest auf meiner Seite Inhalte dynamisch nach, was an sich auch reibungslos funktioniert nur hab ich jetzt ein kleines Problem festgestellt.
Das ist meine Ausgabefunktion
function ausgabeInhalt() {
if (http_request.readyState == 4) {
if (http_request.status == 200)
{
var inhalt=http_request.responseText;
if(document.getElementById(zielId).innerHTML != inhalt)
{document.getElementById(zielId).innerHTML += inhalt;}
}
else
{
alert("Problem --> " + http_request.status);
}
}
}
das Problem ist, dass die Inhalte immer der zielId angehängt werden ob sie schon vorhanden sind oder nicht d.h.
if(document.getElementById(zielId).innerHTML != inhalt)
hat irgendwie keine Wirkung, ich bin froh wenn jemand helfen kann.
MfG Moe
Hellihello
ich lade mit XMLHttpRequest auf meiner Seite Inhalte dynamisch nach, was an sich auch reibungslos funktioniert nur hab ich jetzt ein kleines Problem festgestellt.
Dein Problem hat glaub ich nichts damit zu tun, dass du die Inhalte über den XMLHttpRequest holst. Für die Problemlösung würde ich das erstmal außen vor lassen.
if(document.getElementById(zielId).innerHTML != inhalt)
was ist denn "inhalt"?
{document.getElementById(zielId).innerHTML += inhalt;}
+= heißt ja auch "anfügen".
Dank und Gruß,
Hellihello
ich lade mit XMLHttpRequest auf meiner Seite Inhalte dynamisch nach, was an sich auch reibungslos funktioniert nur hab ich jetzt ein kleines Problem festgestellt.
Dein Problem hat glaub ich nichts damit zu tun, dass du die Inhalte über den XMLHttpRequest holst. Für die Problemlösung würde ich das erstmal außen vor lassen.
if(document.getElementById(zielId).innerHTML != inhalt)
was ist denn "inhalt"?
{document.getElementById(zielId).innerHTML += inhalt;}
+= heißt ja auch "anfügen".
Dank und Gruß,
Hallo und danke für die schnelle Antwort.
was ist denn "inhalt"?
var inhalt=http_request.responseText;
+= heißt ja auch "anfügen".
das stimmt wohl, aber es soll angefügt werden wenn
if(document.getElementById(zielId).innerHTML != inhalt)
Ich versuch es mal zu verdeutlichen, wenn ich z.B. den Inhalt der zielId ausgebe wenn sie leer ist
alert(document.getElementById(zielId).innerHTML)
dann kommt auch die Meldung "ein leeres Fenster".
Wenn ich aber (die zielId ist immernoch leer)
if(document.getElementById(zielId).innerHTML=="")
{
alert("Boom");
}
mache, dann kommt gar keine Meldung.
Ich bin für jeden vorschlag dankbar,
MfG Moe
Hellihello
test in etwa so:
<div id="ziel">inhaltirgendwas</div>
<button onclick="compareInhalt()">
javascript
compareInhalt=function() {
divInhaltsText = document.getElementById(zielId).innerHTML;
und dann weiterfummeln.
Schauen, ob du die Bedinung "divInhaltsText!='blablabla'" überhaupt erfüllt bekommst.
Dank und Gruß,
Hellihello
test in etwa so:
<div id="ziel">inhaltirgendwas</div>
<button onclick="compareInhalt()">
javascript
compareInhalt=function() {
divInhaltsText = document.getElementById(zielId).innerHTML;und dann weiterfummeln.
Schauen, ob du die Bedinung "divInhaltsText!='blablabla'" überhaupt erfüllt bekommst.
ist ohne weiteres erfüllbar, hab ich überprüft, der Rest ist leider beim alten
Dank und Gruß,
Ich frage mich ob http_request.responseText noch irgendwelche versteckten Inhalte/Werte mit übergibt die ich überprüfen könnte ?!
MfG Moe
Mahlzeit,
Ich frage mich ob http_request.responseText noch irgendwelche versteckten Inhalte/Werte mit übergibt die ich überprüfen könnte ?!
Evtl. Leerzeichen, Zeilenumbrüche oder sonstige "Whitespaces" - probier's mal mit einem "trim" drumherum ...
MfG,
EKKi
Mahlzeit,
Ich frage mich ob http_request.responseText noch irgendwelche versteckten Inhalte/Werte mit übergibt die ich überprüfen könnte ?!
Evtl. Leerzeichen, Zeilenumbrüche oder sonstige "Whitespaces" - probier's mal mit einem "trim" drumherum ...
MfG,
EKKi
Evtl. Leerzeichen, Zeilenumbrüche oder sonstige "Whitespaces" - probier's mal mit einem "trim" drumherum ...
Danke, danke, danke :)
so ein doofer Fehler, ich hatte tatsächlich Leerzeichen, Zeilenumbrüche etc.
im div, aber nu gehts, vielen dank für eure Hilfe
MfG Moe
Hellihello
Ich frage mich ob http_request.responseText noch irgendwelche versteckten Inhalte/Werte mit übergibt die ich überprüfen könnte ?!
Die Frage ist doch eher auf beiden Seiten. Wieso ist das .innerHTML (ein Objekt?) nicht gleich dem responseText (plain Text?). Ich gehe jetzt davon aus, dass die Inhalte zumindest optisch gleich scheinen, ein alert("sind sind gleich?: " +responseText != "myDiv.innerHTML) also false ausspuckt?
Dank und Gruß,