Daniel: Einsetzen von Strings in funktionen

Hi also ich habe folgende funtion

function fernsteuern(feldname){

if (document.Frame.rechner.+feldname+.value == "")
 {alert(""+feldname+"");}
 else{document.Frame.rechner.+feldname+.click(); }
 }

sie wird aufgerufen mit

onclick="fernsteuern(derfeldname)"

Wenn ich die Sache mit den document....lasse funktioniert alles, aber sobald i diese, entscheidende Stelle weglasse, funktioniert nichts mehr. "Objekt wird erwartet..."
Ich habe auch schon mit den Schreibweisen herumgespielt...
 document.Frame.rechner."+feldname+".value  .

Könnt ihr mir da einen "Tipp" geben :)

MfG

  1. Hallo

    if (document.Frame.rechner.+feldname+.value == "")

    Klar, dass das einen Fehler gibt. Lies dir das Beispiel zu "zwei Frames gleichzeitig ändern" durch oder befasse dich besser noch mit getElementByID()

    {alert(""+feldname+"");}

    Warum baust du davor und dahinter überflüssige " dazu?

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Dies ist als "debug" gedacht, so sehe ich welches Feld er aufrufen will und nicht findet. :) Gibt es denn keinen konkreten Ansatzpunkt was ich ändern müsste?

      1. Hallo

        Dies ist als "debug" gedacht, so sehe ich welches Feld er aufrufen will und nicht findet. :)

        Ds ist mir klar, aber wäre da nicht alert(feldname) ausreichend?

        Gibt es denn keinen konkreten Ansatzpunkt was ich ändern müsste?

        Den gab ich dir doch. Nur ein wenig selbstbauen/-finden/-suchen musst du schon. Schließlich sind wir hier auf den *SELF*-Seiten.
        In dem genannten Bsp. geht es um das Zusammensetzen bei Frames, jedoch ist die verwendete Funktion eval() nicht immer sehr beliebt. Deswegen nannte ich dir eine Alternative.

        Grüße
          David

        --
        >>Nobody will ever need more than 640k RAM!<<
        1981 Bill Gates
        1. Nun gut,
          Ich habe schon ganz Self HTML durchforstet... mit den 2 Frames hat mich nicht sehr weitergebracht, weil die Ansprechung der Objekts auch ohne jegliche zusäte funktioniert.
          Nur sobald i den Feldnamen als dynamische variabele verwende hackt es.
          Es handelt sich bei mir um einen Iframe.Geht es nur mit getElementByID? oder ginge es auch nach "meiner" Art. Ich verstehe das im Moment nicht ganz. Wieso kann er nicht den String so zusammensetzen wie sonst auch. Nur hier hackt des. Sonst mit array etc. macht er alles..

          MfG

          Daniel

        2. Huhu
          also habe es dann so versucht

          function fernsteuern(feldname){

          if (document.getElementById(feldname).value == "")
           {alert("Das Feld :"+feldname+" exestiert nicht oder ist = 0");}
           else{document.getElementById(feldname).click(); }
           }

          Doch er erwartet immernoch ein Objekt, obwohl es ihm bekannt sein müsste...
          MfG

          daniel

    2. Hi,

      Lies dir das Beispiel zu "zwei Frames gleichzeitig ändern" durch

      sorry, aber diesen eval-müll kann man wirklich nicht guten Gewissens auf Anfänger loslassen.

      oder befasse dich besser noch mit getElementByID()

      das ist zwar nie verkehrt, aber was spricht gegen die klassische Referenzierung
      document.forms["str"].elements["str"]?
      Die wird durch Dom nicht ungueltig - und geht, zumindestens bei normalen Frames, auch mit NC 4x, den es ja noch gibt.

      Gruesse  Joachim

  2. Hi,

    if (document.Frame.rechner.+feldname+.value == "")

    document.forms["foo"].elements["bar"].value

    Gruesse  Joachim