Mr.Moe: Dynamisches nachladen

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

  1. 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ß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. 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

      1. 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ß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. 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

          1. 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

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. 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

          2. 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ß,

            frankx

            --
            tryin to multitain  - Globus = Planet != Welt