bedroit: Problem mit innerHTML

Hallo zusammen

Habe ein kleines Problem...
Ich möchte in einer Javascript-Funktion den Inhalt eines DIV-Tags ändern.

mein Script sieht so aus:

function test()  
{  
     var xyz = *;  
  
     document.getElementById("test").innerHTML = xyz;  
  
}

Anstelle des * möchte ich folgenden HTML-Code einfügen:

<select name="test" style="width: 200px" onclick="test()"><c:forEach items="${list2}" var="auto"><option><c:out value="${auto.autoid}"/></option></c:forEach></select>

nun die Frage: wie muss ich den Code in die Variable xyz schreiben (Wo backslash etc.), damit dies dann richtig interpretiert wird?

  1. Hallo,

    nun die Frage: wie muss ich den Code in die Variable xyz schreiben (Wo backslash etc.), damit dies dann richtig interpretiert wird?

    Du kannst den Code in einfache Anführungszeichen setzen, dann brauchst Du in diesem Fall gar nichts zu maskieren:

      
    document.getElementById("test").innerHTML = '<select name="test" style="width: 200px" onclick="test()"><c:forEach items="${list2}" var="auto"><option><c:out value="${auto.autoid}"/></option></c:forEach></select>';  
    
    

    Viele Grüße,
    Jörg

    1. Hallo Jörg
      Vielen Dank für deine Antwort!
      Hat geklappt.
      Gruss

    2. Kann mir noch jemand sagen wie ich anstelle von test eine Variable aus der JS-Funktion einfügen kann, so dass diese dann im HTML-Code richtig interpretiert wird?

      document.getElementById("test").innerHTML = '<select name="thema2" style="width: 200px" onchange="showunterthema()"><option>Alle Unterthemen</option><c:forEach items="${list2}" var="unterthema"><c:if test="${unterthema.hauptthema == test }"><option><c:out value="${unterthema.unterthemaname}"/></option></c:if></c:forEach></select>';

      1. Hi,

        Kann mir noch jemand sagen wie ich anstelle von test eine Variable aus der JS-Funktion einfügen kann, so dass diese dann im HTML-Code richtig interpretiert wird?

        http://de.selfhtml.org/javascript/sprache/operatoren.htm#zeichenkettenverknuepfung

        Wenn du noch mehr damit herumspielen willst, lernst du aber bitte erst mal selber ein bisschen Grundlagen.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Hi,

          Kann mir noch jemand sagen wie ich anstelle von test eine Variable aus der JS-Funktion einfügen kann, so dass diese dann im HTML-Code richtig interpretiert wird?

          http://de.selfhtml.org/javascript/sprache/operatoren.htm#zeichenkettenverknuepfung

          Wenn du noch mehr damit herumspielen willst, lernst du aber bitte erst mal selber ein bisschen Grundlagen.

          MfG ChrisB

          Hallo ChrisB
          Danke für deine Antwort.
          Wie ich Strings zusammenfügen kann, weiss ich schon...
          jedoch kennt der HTML-Interpreter den wert der variable test nicht, da diese in der JS-Funktion definiert wird...

          1. Hi,

            bitte zitiere sinnvoll - nur das, worauf du dich konkret beziehst, und nicht einfach alles.

            Wie ich Strings zusammenfügen kann, weiss ich schon...
            jedoch kennt der HTML-Interpreter den wert der variable test nicht, da diese in der JS-Funktion definiert wird...

            Dann musst du dafür sorgen, dass die Variable dort, wo du sie verwenden willst, auch verfügbar ist.

            (Oder, dass der *Wert* dort verfügbar ist - in dem du bspw. eine Funktion aufrufst, die ihn als Rückgabewert liefert, und diesen Aufruf in den String einbaust.)

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. Anstelle des * möchte ich folgenden HTML-Code einfügen:

    <select name="test" style="width: 200px" onclick="test()"><c:forEach items="${list2}" var="auto"><option><c:out value="${auto.autoid}"/></option></c:forEach></select>

    Das sieht nach einem Templatecode aus, bist du sicher, dass du im Browser Serverseitgen Code einfügen willst?

    Struppi.