Sarah: Checkboxen auswerten.

Hallo,
ich bins nochmal... entweder ich kapier die ganze Auswertungssache nicht, oder keine Ahnung... Ich finde überall nur Anweisungen wie ich radiobuttons auswerten kann, aber nicht wie das mit checkboxen funktioniert...

Ich hab alle Checkboxen definiert und jetzt soll in einem kleinen alert-Fenster angezeigt werden, welche Boxen gecheckt sind. Wie funktioniert das?

Danke schonmal!

  1. @@Sarah:

    Ich finde überall nur Anweisungen wie ich radiobuttons auswerten kann, aber nicht wie das mit checkboxen funktioniert...

    ??

    Eine Archivsuche nach "+checkboxen +category:javascript" kam für dich nicht in Betracht?

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
    1. Hab dazu nichts passendes gefunden...

  2. Hellihello Sarah,

    Hallo,
    ich bins nochmal... entweder ich kapier die ganze Auswertungssache nicht, oder keine Ahnung... Ich finde überall nur Anweisungen wie ich radiobuttons auswerten kann, aber nicht wie das mit checkboxen funktioniert...

    Ich hab alle Checkboxen definiert und jetzt soll in einem kleinen alert-Fenster angezeigt werden, welche Boxen gecheckt sind. Wie funktioniert das?

      
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
    "http://www.w3.org/TR/html4/loose.dtd">  
    <html>  
     <head>  
      <title>checkboxen checked</title>  
      
     </head>  
     <body>  
      <input type="checkbox" name="check1" >check1</input>  
      <br>  
      <input type="checkbox" name="check2" >check2</input>  
      <button onclick="alert_checkboxen()">alert_checkboxen()</button>  
      <script type="text/javascript">  
    [code lang=javascript]  
      //<![CDATA[  
      alert_checkboxen=function() {  
      
       my_inputs=document.getElementsByTagName("input");  
       output="";  
       for (i=0;i<my_inputs.length;i++) {  
        if (my_inputs[i].type=="checkbox" && my_inputs[i].checked ) {  
         output+=my_inputs[i].name + " is checked \n";  
        }  
       }  
       alert (output);  
      
      }  
      //]]>  
    
    

    </script>

    </body>
    </html>
    [/code]

    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. Hallo und danke erstmal,
      aber geht das nicht auch einfacher? Ich hab grade mitbekommen, wir sollen erst die ganzen Auswertungen ins document.write schreiben und das dann als eingabe definieren, die wiederum mittels alert dargestellt wird.

      mit get elements by id haben wir noch nichts gemacht, lediglich wie folgt:

      <form name="frm">
                               <input type="checkbox" name="hobby1" value="Musik"> Musik <br>
                               <input type="checkbox" name="hobby2" value="Computer"> Computer <br>
         <input type="checkbox" name="hobby3" value="Mathe"> Mathematik <br>
                               <input type="checkbox" name="hobby4" value="Lesen"> Lesen <br>
         <input type="checkbox" name="hobby5" value="Sport"> Sport <br>
         <input type="checkbox" name="hobby6" value="Handball"> Handball <br>
                               <br>
           <input type="button" value="Zeige Hobbys..." onClick="auswertung();">
        </form>
                       <script language="JavaScript">
                       <!--
                        var eingabe
                               eingabe = if (document.frm.hobby1.checked == true)
                                 {
                                                document.write(hobby1);
                                               }

      Der letzte Teil funktioniert leider auch schon nicht :(

      1. Hellihello Sarah,

        <script language="JavaScript">
                         <!--
                          var eingabe
                                 eingabe = if (document.frm.hobby1.checked == true)
                                   {
                                                  document.write(hobby1);
                                                 }

        na hobby1 ist ja keine definiert Variable. Mach doch document.write("hobby1 wurde gechecked");

        und dann so weiter für alle weiteren.

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. Hallo :)

          Klar, ist einleuchtend... sollte ich egtl wissen :/ echt doof.
          Hab das jetzt verbessert, trotzdem erscheint "Syntaxfehler" :(

          Hier mal mein voller Quelltext (weiß nicht warum sich hier alles verschiebt, sry)

          <h1>Meine Hobbies sind</h1>
                           <form name="frm">
                                   <input type="checkbox" name="hobby1" value="Musik"> Musik <br>
                                   <input type="checkbox" name="hobby2" value="Computer"> Computer <br>
             <input type="checkbox" name="hobby3" value="Mathe"> Mathematik <br>
                                   <input type="checkbox" name="hobby4" value="Lesen"> Lesen <br>
             <input type="checkbox" name="hobby5" value="Sport"> Sport <br>
             <input type="checkbox" name="hobby6" value="Handball"> Handball <br>
                                   <br>
               <input type="button" value="Zeige Hobbys..." onClick="auswertung();">
            </form>
                           <script language="JavaScript">
                           <!--
                            var eingabe;
                                   eingabe = if (document.frm.hobby1.checked == true)
                                     {
                                                    document.write("Musik");
                                                   }

          function auswertung()
                                   {
                                    alert(eingabe);
                                   }
                           //-->
                           </script>

          1. Hallo,

            eingabe = if (document.frm.hobby1.checked == true)
            {
               document.write("Musik");
            }

            Das ist auch unsinniger JavaScript-Code. Was soll er bezwecken?

            Eine if-Anweisung ist eine Kontrollstruktur. Du kannst nicht eine Wertzuweisung notieren und dahinter eine if-Anweisung. Willst du vielleicht einfach der Variable »eingabe« den Wert »Musik« zu weisen?

            if (document.frm.hobby1.checked) {
               eingabe = "Musik";
            }

            Mathias

            1. Hey,

              ja ich wusste auch nicht wie ich das machen sollte...
              die eingabe soll ja letzten endes aus mehreren hobbys zusammengesetzt sein, je nach dem was der benutzter anklickt...

              1. Hellihello

                Hey,

                ja ich wusste auch nicht wie ich das machen sollte...
                die eingabe soll ja letzten endes aus mehreren hobbys zusammengesetzt sein, je nach dem was der benutzter anklickt...

                eingabe=""
                if (document.frm.hobby1.checked) {
                   eingabe += "Musik ";
                }
                if (document.frm.hobby2.checked) {
                   eingabe += "weiteresHobby2 ";
                }
                if (document.frm.hobby3.checked) {
                   eingabe += "weiteresHobby2 ";
                }
                alert(eingabe);

                Dank und Gruß,

                frankx

                --
                tryin to multitain  - Globus = Planet != Welt
                1. Perfekt, danke danke :) :) !!!
                  Nur noch eine klitzekleine Frage, wo programmier ich da jetzt n <br> rein?

                  LG und danke nochmal!!

                  1. hat sich erledigt :)

                  2. Hi,

                    Nur noch eine klitzekleine Frage, wo programmier ich da jetzt n <br> rein?

                    Wenn du es weiterhin mit alert ausgeben lassen willst, und nicht als HTML - dann am besten gar nicht.

                    Dann benutzt du das entsprechende Steuerzeichen fuer einen Zeilenumbruch.

                    MfG ChrisB

          2. Hellihello

            Hallo :)

            Klar, ist einleuchtend... sollte ich egtl wissen :/ echt doof.
            Hab das jetzt verbessert, trotzdem erscheint "Syntaxfehler" :(

            Na, nimm die Javascriptkonsole vom FF, die sagt Dir, wo der Fehler liegt.

            Die Zeile
            eingabe = if (document.frm.hobby1.checked == true) {document.write("Musik");}

            soll was für einen Sinne machen? Was soll denn da in der Variablen eingabe landen? Ich weiß nicht, dass "if" überhaupt was zurückgibt. Ohne diese Zeile funktioniert der Rest des Skriptes.

            Hier mal mein voller Quelltext (weiß nicht warum sich hier alles verschiebt, sry)

            wieso, sieht doch normal aus.

            <h1>Meine Hobbies sind</h1>
                             <form name="frm">
                                     <input type="checkbox" name="hobby1" value="Musik"> Musik <br>
                                     <input type="checkbox" name="hobby2" value="Computer"> Computer <br>
               <input type="checkbox" name="hobby3" value="Mathe"> Mathematik <br>
                                     <input type="checkbox" name="hobby4" value="Lesen"> Lesen <br>
               <input type="checkbox" name="hobby5" value="Sport"> Sport <br>
               <input type="checkbox" name="hobby6" value="Handball"> Handball <br>
                                     <br>
                 <input type="button" value="Zeige Hobbys..." onClick="auswertung();">
              </form>
                             <script language="JavaScript">
                             <!--
                              var eingabe;
                                     eingabe = if (document.frm.hobby1.checked == true)
                                       {
                                                      document.write("Musik");
                                                     }

            function auswertung()
                                     {
                                      alert(eingabe);
                                     }
                             //-->
                             </script>

            Dank und Gruß,

            frankx

            --
            tryin to multitain  - Globus = Planet != Welt
      2. Hallo,

        document.write(hobby1);

        Was soll »hobby1« deiner Meinung nach bezeichnen? Es gibt keine Variable hobby1 in deinem Script.

        Wenn du den Wert eines Formularfeldes abfragen willst (in dem Fall »Musik«), dann nutzt du document.frm.hobby1.value, siehe:

        http://de.selfhtml.org/javascript/objekte/forms.htm
        http://de.selfhtml.org/javascript/objekte/elements.htm
        http://de.selfhtml.org/javascript/objekte/elements.htm#checked
        http://de.selfhtml.org/javascript/objekte/elements.htm#value

        Bevor du weiter herumrätselst, solltest du dir vielleicht diese Stellen der SELFHTML-Doku anschauen.

        Mathias

      3. @@Sarah:

        <script language="JavaScript">

        Den Fehler solltest du noch berichtigen. Wie’s richtig geht, hat [frankx] dir gerade vorgemacht und es steht auch in [http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=SELFHTML].

        <!--
                            […
                         //--> ]

        Die Auskommentierung ist auch völlig überflüssig.

        Live long and prosper,
        Gunnar

        --
        „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)