[JavaScript] <img> in label einfügen

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

  • [JavaScript] <img> in label einfügen

    Hallo,

    habe folgenden Code:

    Code:
    <select name="WeltmeisterTipp">
    <option value='Argentinien' onclick="BildWeltmeisterTipp('ARG')">Argentinien (ARG)</option>
    </select>
    
    <label id="BildWeltmeisterTipp">&nbsp;</label>
    und das JavaScript:

    Code:
    function BildWeltmeisterTipp(Land) {
    
    document.getElementById("BildWeltmeisterTipp").firstChild.data = "<img src=\"pics/flag_"+Land+".gif\">";
    
    }
    Nach Anklicken eines Landes aus dem Dropdownmenü soll mir also die Flagge daneben angezeigt werden (mit einem label).

    Als Ausgabe bekomme ich jedoch nur:

    <img src="pics/flag_ARG.gif">
    ... und nicht das eigentliche Bild bzw. dessen HTML-Umsetzung.

    Wie muss es also richtig heißen?

  • #2
    Hmm... interessant!

    Beschäftige dich noch mal genauer mit dem DOM, besonders hiermit und damit

    was du machst, ist, den inhalt des elements auf <img src="pics/flag_ARG.gif"> zu setzen und nicht dieses element neu hinzuzufügen...
    ich finde es ur interessant, dass der Browser die beiden Tag-Klammern ja offenbar als &lt; und &gt; interpretiert.
    Es ist nicht deine Schuld, dass die Welt ist, wie sie ist,
    Es wär nur deine Schuld, wenn sie so bleibt

    Kommentar


    • #3
      Mit [FONT=courier new]document.getElementById("BildWeltmeisterTipp").firstChild.nodeValue[/FONT] wie es auf http://de.selfhtml.org/dhtml/modelle...elementinhalte beschrieben ist, funktioniert es leider auch nicht.

      Übrigens zeigt nur der FireFox [FONT=courier new]<img src="pics/flag_ARG.gif">[/FONT] an. Der IE tut gar nichts (auch keine Fehlermeldung in der Statusleiste).

      Kommentar


      • #4
        1. Der IE kennt <label> glaub ich auch gar nicht, ist im allgemeinen eh nicht zu empfehlen. versuch mal lieber <div> oder so.

        2. Dein Beispiel sollst du ja auch mit createElement() lösen, der andere Link war bloß, weil du mit diesem komischen .data arvbeitest.
        Es ist nicht deine Schuld, dass die Welt ist, wie sie ist,
        Es wär nur deine Schuld, wenn sie so bleibt

        Kommentar


        • #5
          Ich habe bereits <label> durch <span> ersetzt... genau wie im o.g. Beispiel. Also wüsste ich nicht, wieso ich einen neuen Knoten erzeugen soll?

          Kommentar


          • #6
            Damit ein IMG-"Knoten" existiert!?!
            Es ist nicht deine Schuld, dass die Welt ist, wie sie ist,
            Es wär nur deine Schuld, wenn sie so bleibt

            Kommentar


            • #7
              Ich habe das jetzt doch ein wenig anders gemacht:

              Code:
              <select name="WeltmeisterTipp">
                <option value="Argentinien" onclick="BildWeltmeisterTipp('ARG')">Argentinien (ARG)</option>
              </select>
              
              <img id="imgWeltmeisterTipp" src="pics/flag_.gif">
              JavaScript:

              Code:
              function BildWeltmeisterTipp(Land) {
              document.getElementById("imgWeltmeisterTipp").setAttribute("src", "pics/flag_" + String(Land) + ".gif");
              }
              Funktioniert... aber nur im FireFox!

              Ich habe mehrere "Tests" gemacht, und mir scheint, dass der IE das onclick-Event überhaupt nicht ausführt, in dem Dropdownmenü!? Woran liegt das? Wie kann ich das beheben?

              Kommentar


              • #8
                Original geschrieben von Boron
                Ich habe mehrere "Tests" gemacht, und mir scheint, dass der IE das onclick-Event überhaupt nicht ausführt, in dem Dropdownmenü!? Woran liegt das?
                daran, dass der IE buggy ist, und onClick für option nicht unterstützen mag.
                Wie kann ich das beheben?
                nutze onChange auf dem select, o.ä.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von Rumo
                  1. Der IE kennt <label> glaub ich auch gar nicht, ist im allgemeinen eh nicht zu empfehlen. versuch mal lieber <div> oder so.
                  Natürlich kennt er das. Und wieso ist das nicht zu empfehlen? Ich würde sogar sagen: SEHR empfehlenswert!
                  Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                  var_dump(), print_r(), debug_backtrace und echo.
                  Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                  Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                  Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                  Kommentar


                  • #10
                    nutze onChange auf dem select
                    Danke! Jetzt tut's.

                    Code:
                    <select name="WeltmeisterTipp" onChange="BildWeltmeisterTipp()">
                      <option value="ARG">Argentinien (ARG)</option>
                    </select>
                    
                    <img id="imgWeltmeisterTipp" src="pics/flag_.gif">
                    Code:
                    function BildWeltmeisterTipp() {
                    
                    var Land = document.WeltmeisterTippForm.WeltmeisterTipp.value;
                    document.getElementById("imgWeltmeisterTipp").setAttribute("src", "pics/flag_" + String(Land) + ".gif");
                    
                    }

                    Kommentar


                    • #11
                      Original geschrieben von Boron
                      Danke! Jetzt tut's.
                      OffTopic:
                      dann warte ich jetzt gespannt auf den moment, wenn er merkt, dass value für select im IE doch nicht "funzt" ...
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        ??

                        Ich seh doch, dass es funktioniert... ^^
                        Die Bilder werden mir doch angezeigt!?

                        Kommentar


                        • #13
                          Original geschrieben von Shurakai
                          Natürlich kennt er das. Und wieso ist das nicht zu empfehlen? Ich würde sogar sagen: SEHR empfehlenswert!
                          OK... ich sagte ja "glaub ich", weil mein Kleinhirn mir irgendetwas in der Richtung "du verwchselst das mit <layer>" zugeflüdtert hat...
                          sorry
                          Es ist nicht deine Schuld, dass die Welt ist, wie sie ist,
                          Es wär nur deine Schuld, wenn sie so bleibt

                          Kommentar


                          • #14
                            Original geschrieben von Boron
                            Ich seh doch, dass es funktioniert... ^^
                            Die Bilder werden mir doch angezeigt!?
                            auch im IE ...? richtig ...?

                            wundert mich. soweit ich weiß, kennt der value für select nämlich nicht, und man muss stattdessen über das value der selektierten option gehen ...
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar

                            Lädt...
                            X