PHP_Dude: Radiobutton type ist undefined

Hallo,

ich habe mir eine function "chkFormular" geschrieben, welche die Namen der Formularfelder übergeben bekommt, die überprüft werden sollen.
Für alle übergebenen Feldnamen erstelle ich ein Objekt "el":

var c=chkFormular.arguments;
for(var d=0; d<c.length; d++) {
  eval('var el = document.forms[0].' + c[d] + ';');
  alert(el.type);
}

Nun bekomme ich für jedes Feld den Typ zurück, nur beim Radiobutton liefert er "undefined".

Hat von Euch jemand Ahnung wie ich den korrekten Typ bekomme?

Ich vermute mal das die Erstellung von dem Objekt mit eval() auch anders möglich ist.

mfg
PHP_Dude

  1. Hi,

    Nun bekomme ich für jedes Feld den Typ zurück, nur beim Radiobutton liefert er "undefined".

    beim Radiobutton? Überprüfe erst einmal, bei _was_ der Code in Wirklichkeit "undefined" zurückliefert. Aus dem Code ist das jedenfalls nicht ersichtlich.

    Ich vermute mal das die Erstellung von dem Objekt mit eval() auch anders möglich ist.

    Ja, und das solltest Du auch unter allen Umständen tun. Verzichte grundsätzlich auf eval(), sofern Du nicht einen wirklich, _wirklich_ guten Grund dafür hast. Diese Regel gilt übrigens für ausnahmsfrei alle Sprachen, die Dir jemals begegnen könnten.

    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. Danke für die schnelle Antwort,

      ich glaube das Problem mittlerweile gefunden zu haben und muss den Code deshalb sowieso komplett umstrukturieren.
      Da die funktion zuerst den type braucht um das Formularfeld zu richtig zu prüfen habe ich bei radiobuttons das Problem das es immer mehrere sind.
      Ich kann also nur jeden einzelnen radiobutton nach seinem type fragen.

      thx
      PHP_Dude

      1. Da die funktion zuerst den type braucht um das Formularfeld zu richtig zu prüfen habe ich bei radiobuttons das Problem das es immer mehrere sind.
        Ich kann also nur jeden einzelnen radiobutton nach seinem type fragen.

        Mir scheint, du suchst sowas http://javascript.jstruebig.de/source/checkform.html

        Struppi.

  2. Moin!

    Für alle übergebenen Feldnamen erstelle ich ein Objekt "el":

    Nein, du überschreibst das eine Objekt immer wieder.

    var c=chkFormular.arguments;
    for(var d=0; d<c.length; d++) {
      eval('var el = document.forms[0].' + c[d] + ';');
      alert(el.type);
    }

    Ich vermute mal das die Erstellung von dem Objekt mit eval() auch anders möglich ist.

    In der Tat. Lies http://de.selfhtml.org/javascript/objekte/elements.htm#type.

    • Sven Rautenberg
  3. hi,

    for(var d=0; d<c.length; d++) {
      eval('var el = document.forms[0].' + c[d] + ';');

    eval() ist hier absolut unnötig.

    lies http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines - und berücksichtige, dass du für # nicht nur die nummer, sondern auch den namen eines elementes einsetzen kannst.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. " und berücksichtige, dass du für # nicht nur die nummer, sondern auch den namen eines elementes einsetzen kannst. "

      Vielen herzlichen Dank für diesen Tipp.
      Diese Seite habe ich heute schon mehrfach gelesen und es ist leider nicht ersichtlich das man auch den namen verwenden kann.

      thx
      PHP_Dude

      1. hi,

        Diese Seite habe ich heute schon mehrfach gelesen und es ist leider nicht ersichtlich das man auch den namen verwenden kann.

        ich weiß, bekannte unzulänglichkeit von self an der stelle, die m.W. mit der nächsten version korrigiert werden soll.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Moin!

          ich weiß, bekannte unzulänglichkeit von self an der stelle, die m.W. mit der nächsten version korrigiert werden soll.

          s/werden soll/ist/

          • Sven Rautenberg
          1. hi,

            ich weiß, bekannte unzulänglichkeit von self an der stelle, die m.W. mit der nächsten version korrigiert werden soll.

            s/werden soll/ist/

            wortklauberei :-P

            korrigiert ist er für mich erst dann, wenn diese version auch die offzielle ist.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }