Cruz: Objekt "referenzieren"

Hallo Leute,

Wie ist es eigentlich möglich auf ein Objekt zuzugreifen, dessen Namen ist teilweise (als String) an die function übergebe?

Ein Beispiel:

mein aufruf: DeleteFile('template')

Damit möchte ich auf document.templateform.template.value zugreifen.

Meine function sieht so aus:

function DeleteFile(type) {
myObject = "document." + type + ".form." + type;
alert(myObject.value);
}

Leider funktioniert das so nicht.
Kann mir jemand zeigne, wie ich auf ein Objekt zugreifen kann, dessen namen ich als String übergebe?

Gruß
Cruz

  1. Hi Cruz!

    »document.templateform.template.value zugreifen.
    wenn hier templateform und nicht template.form gemeint ist, mußt Du "document" + type + "form." + type schreiben.

    Und wenn Du das ganze noch in ein eval() packst, sollte es funzen. also:

    myObject=eval("document" + type + "form." + type);

    Gruß
    Thomas

    1. Hi Thomas,

      ich habe das mal mit folgender function ausprobiert:

      function Download(nr) {
      var source = eval('document.img' + nr + '.src');
      alert(source);
      }

      aber da krieg ich die Fehlermeldung, daß ein ";" erwartet wird.
      Ich habe früher schon mal Probleme mit eval() gehabt, ich bin mir nicht sicher, daß man da einen Rückgabewert in einer Variable auffangen kann.

      Gruß
      Cruz

      1. aber da krieg ich die Fehlermeldung, daß ein ";" erwartet wird.
        Ich habe früher schon mal Probleme mit eval() gehabt, ich bin mir nicht sicher, daß man da einen Rückgabewert in einer Variable auffangen kann.

        Sorry, das war kompletter Dünnsinn, es funktioniert, nur mein Aufruf war falsch. Danke!