Patrick: Anzahl anklickbarer Checkboxen begrenzen

Hi Forum,

ich habe ein Formular mit 10 Checkboxen, möchte jedoch, dass maximal 5 davon ausgewählt werden können.
Wie wird sowas realisiert?

Danke
Patrick

  1. Tag Patrick.

    ich habe ein Formular mit 10 Checkboxen, möchte jedoch, dass maximal 5 davon ausgewählt werden können. Wie wird sowas realisiert?

    Z.B. mit Javascript, siehe checked-Eigenschaft. Gehe einfach bei Eintritt eines bestimmten Ereignisses alle Checkboxen durch und zähle die ausgewählten.

    Ansonsten gäbe es (nur mit HTML) noch die Möglichkeit mit Auswahllisten, indem du alle Auswahlmöglichkeiten einfach auf 5 Listen verteilst und jeweils nur eine Auswahl zulässt. Bei Checkboxen geht das so allerdings nicht, da müsstest du wohl auf Javascript zurückgreifen.

    Siechfred

    --
    Früh übt sich ... (74kB)
    Der schwierigste Blick ist immer der über den Tellerrand -- man glaubt gar nicht, wie hoch so ein Tellerrand sein kann.
  2. Moin, moin!

    Hier wäre eine Javascript-Lösung (quick and dirty):

    <html>
      <head>
        <script language="JavaScript">
          var max=3;                                                         // maximale Anzahl gewählter Checkboxen
          function check(boxnr)
          {
            var objekte_gewaehlt=0;                                          // Anzahl gewählter Checkboxen zurücksetzen
            for(var i=0; i<document.formular.box.length; i++)                // alle Checkboxen durchgehen
              if(document.formular.box[i].checked==true) objekte_gewaehlt++; // gewählte Checkboxen zählen
            if(objekte_gewaehlt > max)                                       // wenn Anzahl gewählter Checkboxen zu hoch...
            {
              document.formular.box[boxnr].checked=false;                    // gerade gewählte Checkboxen zurücksetzen
              alert("Es dürfen maximal "+max+" Objekte ausgewählt werden!"); // Hinweis ausgeben
            }
          }
        </script>
      </head>
      <body>
        Wählen Sie mehrere Checkboxen aus. Wird dabei das Maximum überschritten,
        so wird die letzte Auswahl rückgängig gemacht und ein Hinweis ausgegeben.
        <br>
        <form name="formular">
          <input type="checkbox" name="box" value="Box a" onClick="check(0)">Box a<br>
          <input type="checkbox" name="box" value="Box b" onClick="check(1)">Box b<br>
          <input type="checkbox" name="box" value="Box c" onClick="check(2)">Box c<br>
          <input type="checkbox" name="box" value="Box d" onClick="check(3)">Box d<br>
          <input type="checkbox" name="box" value="Box e" onClick="check(4)">Box e<br>
        </form>
      </body>
    </html>

    Alles klar?

    Norbert

    1. Hi Norbert,

      WOW, vielen Dank!
      So genau wollte ich es eigentlich nicht wissen, aber Danke, hat mir Arbeit gespart;-)

      Vielen Dank
      Patrick

      1. Mist, da habe ich jetzt jemanden davon abgehalten, sich selbst Gedanken zu machen.

        Sorry, liebe Gemeinde!

        Norbert