Christian: Inhalt einer textarea / p dynamisch ändern

Hallo!

In einer Bildergalerie werden die Bilder zunächst alle in einem Array abgespeichert. Wenn der Benutzer später auf "zurück" oder "weiter" klickt, sorgt die entspr. Funktion dafür, dass beim <img> einfach die Source geändert wird.

Ich will nun zu jedem Bild auch Text ausgeben, der sich natürlich beim Durchklicken mitändern muss.

Frage 1: Geht die Textanzeige dann ausschließlich mithilfe von Formularelementen? Wenn ja, ist die <textarea> am sinnvollsten, oder? Mir wäre ein <p> ehrlich gesagt lieber!

Frage 2: Wie geht das?? Ihr könnt unten im Code sehen, wie ich es versucht habe - es passiert leider nichts.

Danke für jeden Schritt zur Lösung!

*******************

<script type="text/javascript" language="JavaScript">
<!-- Begin
var n = 0;
var pic=new Array(25);
for(i = 0; i < 25; i++) {
 pic[i] = new Image();
}

pic[0].src='img/bild1.jpg';
pic[1].src='img/bild2.jpg';
pic[2].src='img/bild3.jpg';
...

function zurueck(){
 if (n > 0) {n--;}
 else {n = 24;}
 window.document.galeriebild.src=pic[n].src;
 document.kommentar.value="zurueck!";
}

function weiter(){
 if (n < 24) {n++;}
 else {n = 0;}
 window.document.galeriebild.src=pic[n].src;
 document.kommentar.value="weiter!";
}
// End -->
</script>

...

<img name="galeriebild" src="img/bild1.jpg">
<textarea name="kommentar" style="width: 344px; height: 54px;" readonly></textarea>

********************

  1. Hi,

    Frage 1: Geht die Textanzeige dann ausschließlich mithilfe von Formularelementen?

    nein, Du kannst mittels DOM die nodes eines HTML-Dokuments manipulieren.

    Frage 2: Wie geht das?? Ihr könnt unten im Code sehen, wie ich es versucht habe - es passiert leider nichts.

    Du sprichst ein Objekt namens document.kommentar an. Ich sehe aber nirgendwo, wo dies erzeugt werden soll. Und ja, ich weiß, wo Du es zu sehen glaubst.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Du sprichst ein Objekt namens document.kommentar an. Ich sehe aber nirgendwo, wo dies erzeugt werden soll. Und ja, ich weiß, wo Du es zu sehen glaubst.

      Naja, da ist die textarea und die hat den Namen "kommentar". Ich dachte, dass das als Zuweisung ausreicht.
      Mit DOM habe ich mich noch gar nicht beschäftigt (schluck!).
      Hast du eine Lösung, wenn du verstehst, was ich beabsichtige. Es sind ja vermutlich 2 oder 3 Zeilen Javascript.

      Danke,
      Christian

      1. Hallo,

        Naja, da ist die textarea und die hat den Namen "kommentar". Ich dachte, dass das als Zuweisung ausreicht.

        Nein, tut es nicht. Es gibt drei Methoden um dein Ziel zu erreichen:
        getElementById
        getElementsByName
        getElementsByTagName
        Ich würde für dein Vorhaben getElementById empfehlen, da die jeweilige Id immer ein Unique sein muss, und so Verwechslungen ausgeschlossen sind. Die anderen beiden Methoden steuern ein Array an.

        Hast du eine Lösung, wenn du verstehst, was ich beabsichtige. Es sind ja vermutlich 2 oder 3 Zeilen Javascript.

        Neben den obigen drei Links ist dieser Artikel noch relevant: http://de.selfhtml.org/javascript/objekte/images.htm#src

        Viele Grüße,
        Philip