MSSaute: Werte von Radiobuttons auslesen - Radiobutton in From name[wert]

Mein Problem: ich habe eine Gruppe von Radiobuttons in der folgenden Form:

<input type="radio" name="groesse[16]" value="1" />
<input type="radio" name="groesse[16]" value="2" />
<input type="radio" name="groesse[16]" value="3" />
<input type="radio" name="groesse[16]" value="4" />

Mein Ziel: mit JavaScript den jeweils angewählten Wert von groesse[16] auslesen.

im Forum wurde mehrfahr auf den Fakt hingewiesen, dass ein RadioButton wie ein Array behandelt wird und man sowas machen müsste:

if(document.meinFormularname.groesse[16][0].checked == true)
{
   alert("ja");
}

das geht aber nicht - wie man an der syntax groesse[16][0] vermuten kann. Ich denke JavaScript kommt da durcheinander.

Ich kann aber auf den Namen groesse[16] nicht verzichten. Was kann ich machen, um mir trotzdem die Werte vom angewählten Radiobutton ausgeben zu lassen? Vielen Dank

  1. Hallo,

    Ich kann aber auf den Namen groesse[16] nicht verzichten. Was kann ich machen, um mir trotzdem die Werte vom angewählten Radiobutton ausgeben zu lassen? Vielen Dank

    document.getElementsByName("groesse[16]")[0].checked == true

    Sollte eigentlich funktionieren.

    mfg. Daniel

    1. Hallo,

      Ich kann aber auf den Namen groesse[16] nicht verzichten. Was kann ich machen, um mir trotzdem die Werte vom angewählten Radiobutton ausgeben zu lassen? Vielen Dank

      document.getElementsByName("groesse[16]")[0].checked == true

      Sollte eigentlich funktionieren.

      Ja, allerdings mit dem Nachteil, dass Du per document.getElementsByName eine Collection erzeugst, die der Browser für ein FORM bereits erzeugt hat. Besser ist es also die vorhandene Collection zu nutzen:

        
      document.meinFormularname.elements["groesse[16]"][0].checked == true  
      
      

      viele Grüße

      Axel

      1. Hallo,

        document.getElementsByName("groesse[16]")[0].checked == true

        Sollte eigentlich funktionieren.
        Ja, allerdings mit dem Nachteil, dass Du per document.getElementsByName eine Collection erzeugst, die der Browser für ein FORM bereits erzeugt hat. Besser ist es also die vorhandene Collection zu nutzen:

        document.meinFormularname.elements["groesse[16]"][0].checked == true

          
        Hm, was hat das mit der Collection auf sich? Ich verwende eigentlich immer eine document.getElementsBy...-Funktion.  
        Welchen Nachteil hat das? Ich habe eigentlich noch keine Performance-Probleme oder dergleichen gehabt, jedenfalls nichts spürbares.  
          
        PS: Empfindest du das Posting als „unsauber“?  
          
        mfg. Daniel
        
        -- 
        [Experten raten von der Verwendung des Internet Explorers ab!](http://web.oesterchat.com/internet-explorer/)  
        [Diese Programme](http://danielrichter.da.funpic.de/Testumgebung.html) braucht man, um Webseiten zu bauen!  
        [Mein SELF-stylesheet](http://danielrichter.da.funpic.de/SELFForumsCSS.html)  
        [Darum Firefox!](http://www.firefox-love.de/)  
        [Selfcode](http://forum.de.selfhtml.org/cgi-bin/selfcode.pl): [ie:{ fl:| br:> va:| ls:# fo:| rl:( n4:# ss:{ de:> js:| ch:? mo:) zu:}](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%7C+br%3A%3E+va%3A%7C+ls%3A%23+fo%3A%7C+rl%3A%28+n4%3A%23+ss%3A%7B+de%3A%3E+js%3A%7C+ch%3A%3F+mo%3A%29+zu%3A%7D)
        
        1. Hallo,

          Hm, was hat das mit der Collection auf sich? Ich verwende eigentlich immer eine document.getElementsBy...-Funktion.
          Welchen Nachteil hat das?

          Diese Funktionen sind nicht so performant, wie der Zugriff auf Collections, die der Browser beim Parsen des HTML-Codes ohnehin erzeugt (erzeugen muss), weil bei diesen Funktionen immer der gesamte DOM-Baum _nochmals_ durchlaufen wird. Es könnte ja auch Elemente anderer Art mit dem selben Namen geben, als sie in den Collections document.anchors, .forms, .images, .links (siehe auch [HTMLDocument]) und Untercollections bspw. [HTMLFormElement].elements bereits enthalten sind.

          Ich habe eigentlich noch keine Performance-Probleme oder dergleichen gehabt, jedenfalls nichts spürbares.

          Naja, damit das spürbar wird, muss man schon sehr intensiv von JavaScript Gebrauch machen. Du kannst es aber spürbar werden lassen, indem Du das document.getElement... redundant immer wieder aufrufst, statt wenigstens die daraus einmal erhaltene Collection per Variable zu referenzieren und dann mit dieser Referenz zu arbeiten.

          PS: Empfindest du das Posting als „unsauber“?

          *g* Ja, hättest es ruhig mal abstauben können. Warum fragst Du?

          viele Grüße

          Axel

          1. Hallo,

            PS: Empfindest du das Posting als „unsauber“?
            *g* Ja, hättest es ruhig mal abstauben können. Warum fragst Du?

            Weil das Forum gemeckert hat. Das tut es irgendwie immer, ohne dass ich weiß warum.

            Die Meldung kam sogar, als ich dieses Posting abschicken wollte.

            mfg. Daniel

            1. Hallo,

              Weil das Forum gemeckert hat. Das tut es irgendwie immer, ohne dass ich weiß warum.
              Die Meldung kam sogar, als ich dieses Posting abschicken wollte.

              Naja, das ist halt eine dumme automatische Routine. Irgendwo im Archiv gibt es wohl eine Erklärung der Betreiber, welche Kriterien ein Posting als "unsauber" kennzeichnen.

              viele Grüße

              Axel

              1. Hallo,

                Weil das Forum gemeckert hat. Das tut es irgendwie immer, ohne dass ich weiß warum.
                Die Meldung kam sogar, als ich dieses Posting abschicken wollte.
                Naja, das ist halt eine dumme automatische Routine. Irgendwo im Archiv gibt es wohl eine Erklärung der Betreiber, welche Kriterien ein Posting als "unsauber" kennzeichnen.

                Hab's gerade gefunden.

                Hätte ja nicht gedacht, dass das Weglassen der E-Mailadresse schon einen Abzug bringt. Tja, dann muss ich wohl mit der Meldung leben und sie stillschweigend ignorieren müssen.

                mfg. Daniel

      2. Vielen dank euch beiden - hat funktioniert.