Xadian: Pfadsyntax

Hoi

Is vielleicht kein HTML aber zu ins Server und DB Forum wollt ichs nich tun...
Folgendes:
Es geht darum Variablen in Pfaden zu verwenden(Javascript)...

Beispiel:
variable = "feld1";
document.myForm[variable].value="Bla!";

ist ja gleichbedeutend mit:
document.myForm.feld1.value="Bla!"

Wenn ich jetzt ein Objekt hab
myObject = new Image();
und folgendes machen will:
myObject.src="pic.jpg";
und zwar mit einer Variablen drinnen, weil ich mehrere Objekte dieser Sorte habe hab ich nicht den Durchblick wie das geht...
Ich habs mit
[variable].src = "pic.jpg" versucht aber das geht ja numal wie ich mir schon dachte nich...
variable.src geht auch nicht weil er die ja nicht als Variable erkennt...

Wie kann ich das also erreichen???

Danke schonmal für ögliche Antworten

Xadian

  1. Hallo Xadian,

    Is vielleicht kein HTML aber zu ins Server und DB Forum wollt ichs nich tun...

    FYI: Es gibt hier nur ein Forum, siehe auch http://aktuell.de.selfhtml.org/artikel/gedanken/foren-boards/. Aber die Kategorie (JAVASCRIPT) passt prima.

    Es geht darum Variablen in Pfaden zu verwenden(Javascript)...

    Es heißt zwar nicht Pfade sondern eher Objektzugriff oder so (mir fällt da keine Bezeichnung für ein), macht aber nichts.

    myObject = new Image();
    myObject.src="pic.jpg";
    [variable].src = "pic.jpg" versucht aber das geht ja numal wie ich mir schon dachte nich...
    variable.src geht auch nicht weil er die ja nicht als Variable erkennt...

    Wie kann ich das also erreichen???

    Du könntest eval verwenden, das verlangsamt aber die Ausführung. Ich rate Dir im Fall von mehreren Objekten zu Arrays:

    var meine_bilder = new Array();
    meine_bilder["bild1"] = new Image();
    meine_bilder["bild1"].src = "pic.jpg";
    var variable = "bild1";
    alert (meine_bilder[variable].src);

    http://selfhtml.teamone.de/javascript/objekte/array.htm

    HTH,

    Christian

    --
    Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                          -- Albert Einstein
  2. Beispiel:
    variable = "feld1";
    document.myForm[variable].value="Bla!";

    ist ja gleichbedeutend mit:
    document.myForm.feld1.value="Bla!"

    Wenn ich jetzt ein Objekt hab
    myObject = new Image();
    und folgendes machen will:
    myObject.src="pic.jpg";
    und zwar mit einer Variablen drinnen, weil ich mehrere Objekte dieser Sorte habe hab ich nicht den Durchblick wie das geht...
    Ich habs mit
    [variable].src = "pic.jpg" versucht aber das geht ja numal wie ich mir schon dachte nich...
    variable.src geht auch nicht weil er die ja nicht als Variable erkennt...

    Wie kann ich das also erreichen???

    Neben dem assoziativen Array Das dir Christian vorschlägt, ginge es auch mit self[variable]. Allerdings muss das dann erst ein Image Objekt werden, also self[variable] = new Image();

    usw.

    Doch ich denke mal, das dein Problem vermutlich wesentlich besser gelöst werden kann.

    Struppi.

  3. gruss Xadian

    Christian Kruse erklaert das alles sehr schoen unter
       http://aktuell.de.selfhtml.org/artikel/javascript/oomodell/index.htm

    peterS. - pseliger@gmx.net