HTML Ausgabe mit Javascript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • HTML Ausgabe mit Javascript

    Hallo,

    ich habe ein Problem mit JS. Und zwar will ich eine Liste von Links (die in der Form 'link1|link2 ...' übergeben wird mit JS in eine normale HTML Ausgabe umwandeln und diese dann an einem bestimmten Knoten in den HTML Code einfügen. Er zeigt mir aber nur den nicht umgewandelten HTML Code an, d.h. ich habe eine Ausgabe die ungefähr so ausschaut:

    Code:
    <a href="chemie.ppt">chemie.ppt</a><a href="chemie.doc">chemie.doc</a>
    Nicht so sehr praktisch Hier der betreffende Ausschnitt aus meinem Quellcode

    Code:
    var files = stuff[id].split("|");
    var links = "";
    		
    for(var i=0;i<files.length;i++){
        links += "<a href=\"" + files[i] + "\">" + files[i] + "</a>";
    }
    var Textknoten = document.createTextNode(links);
    document.getElementById("l_"+id).replaceChild(Textknoten, document.getElementById("l_"+id).firstChild);
    Schonmal vielen Dank,

    Andreas

  • #2
    Re: HTML Ausgabe mit Javascript

    Original geschrieben von ocvlvs
    Er zeigt mir aber nur den nicht umgewandelten HTML Code an, d.h. ich habe eine Ausgabe die ungefähr so ausschaut
    Natürlich - was denkst du, warum die Methode createTextNode() wohl createTextNode heißt ...?

    Wenn du HTML-Elemente erzeugen willst, musst du auch die passenden Methoden nehmen - createElement() etc.
    (Oder "billiger" über innerHTML.)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ich muss mal eben diesen thread hochholen, die suche hat mir nix passenderes gebracht.
      hab da n ähnliches problem, allerdings funktioniert das nicht so recht mit createElement, da ich im text der von der php-ausgabe kommt schon diverse html-tags drinhabe. also für smilies oder textformatierungen, die kann ich nicht später per JS machen.
      gibts nicht irgend ne möglichkeit die trotzdem zum funktionieren zu kriegen? vielleicht ne funktion die den text parst und html-elemente automatisch filtert und umwandelt, das wär geil

      oder vielleicht ne ganz andere möglichkeit text vom server nachträglich ins dokument einzufügen?

      danke schonmal!!
      diese signatur ist nichtssagend...

      Kommentar


      • #4
        niemand ne idee?
        diese signatur ist nichtssagend...

        Kommentar


        • #5
          ich würde dir gerne helfen, aber ich erkenne dein problem nicht.

          Kommentar


          • #6
            ich erzeuge per document.createTextNode text im document, den ich vorher per ajax aus der datenbank ziehe.
            problem is eben dass das nur als text ausgegeben wird, obwohl ich html-tags drinhab. document.createElement kann ich nicht nutzen, weil die tags ja schon vorher im text sind (benutzereingaben).

            die frage ist jetzt obs ne möglichkeit gibt die im text enthaltenen tags irgendwie als html-code ausgeben zu lassen.
            vielleicht mit irgendnem fertigen parser der den text mit den tags automatisch in nodes zerpflückt oder so.
            diese signatur ist nichtssagend...

            Kommentar


            • #7
              ah ok, na da komme ich der sache doch näher, leider aber auch nur vom verständnis her. aber welche frage sich für mich immernoch stellt, ist, wieso möchtest du sowas machen?
              also wenn ich sowas machen müsste, würde ich wie folgt vorgehen:[list=1][*]die html-tags und den dazwischen liegenden text per regexp ermitteln[*]die ermittelten tags im loop und in richtiger reihenfolge als objekt erzeugen und den dazu gehörenden text hinzufügen[/list=1]
              einfacher gesagt als getan, ich weiss. wenn ich jetz noch zeit hätte, würde ich dir gerne dabei helfen, aber mir drückt leider der schuh.

              Kommentar


              • #8
                naja was du beschreibst is ja eigentlich n parser, nur wollte ich den nicht unbedingt selber schreiben aber ich fürchte da werd ich nicht drumrum kommen.
                vielleicht find ich auch noch nen passenden code-schnipsel oder so, mal gucken im internet.

                dazu kommt dass ich keine ahnung von regexp hab, ich hab mal versucht mich reinzulesen, was aber absolut erfolglos war
                diese signatur ist nichtssagend...

                Kommentar


                • #9
                  Wenn du nicht selbst parsen und jedes Element einzeln erzeugen willst, kannst du ja auch innerHTML nutzen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    und damit rückst du erst jetzt raus?
                    geil das funktioniert, du bist mein held, 1000 dank!

                    naja nur firefox will noch net so recht...
                    Fehler: document.all has no properties
                    aber dafür gibts auch ne lösung, die ich vielleicht im laufe des tages finden werd, und wenn nicht werden auf dem halt keine smilies angezeigt.
                    jetzt freu ich mich erstmal wie n schnitzel dass es auf opera und ie geht!!


                    Edit ok schnelle lösung des letzten problems, und zwar einfach mit document.getElementById
                    Zuletzt geändert von CrazyChaos; 09.01.2006, 10:50.
                    diese signatur ist nichtssagend...

                    Kommentar


                    • #11
                      Original geschrieben von CrazyChaos
                      naja nur firefox will noch net so recht...
                      Fehler: document.all has no properties
                      Natürlich, document.all ist ja eine Erfindung des IE.

                      Aber innerHTML haben inzwischen alle gängigen Browser implementiert, und zwar unterhalb des nodes-Objektes.
                      Du brauchst also nicht über document.all gehen, sondern kannst immer objektreferenz.innerHTML verwenden. (Die Objektreferenz besorgst du dir mit üblichen Methoden wie getElementById, etc.)
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar

                      Lädt...
                      X