frobi: checkboxen aus formular überprüfen

hi zusammen.

das thema ist bestimmt schon oft angesprochen, doch ich habe noch nicht gescheites zu meinem problem gefunden.

ich habe 6 checkboxen -> und ich möchte einfach nur überprüfen, ob eines oder mehrere aktiviert sind.

quasi:

-> wenn eines oder mehrere aktiv dann gehe zu seite xy
-> wenn keines aktiv dann bleibe auf der seite und zeige einen alert

hoffe jemand hat einen tip für mich.

danke,
frobi

  1. das thema ist bestimmt schon oft angesprochen, doch ich habe noch nicht gescheites zu meinem problem gefunden.

    ich habe 6 checkboxen -> und ich möchte einfach nur überprüfen, ob eines oder mehrere aktiviert sind.

    quasi:

    -> wenn eines oder mehrere aktiv dann gehe zu seite xy
    -> wenn keines aktiv dann bleibe auf der seite und zeige einen alert

    hoffe jemand hat einen tip für mich.

    und deine Frage lautet?

    Struppi.

    1. und deine Frage lautet?

      Struppi.

      meine frage lautet, wie ich das überprüfen kann.

      habe z.B.

      <script type="text/javascript">

      function check () {
         if(document.form.feld0.checked) { alert("Ja"); }
              else { alert("Nein"); }
      }

      </script>

      aber ich weiß nicht genau, wie ich jetzt mehrere felder überprüfe und dann halt auf bestehende seite bleibe oder auf externe weiterleite.

      frobi

      1. Hallo!

        <script type="text/javascript">

        function check () {
           if(document.form.feld0.checked) { alert("Ja"); }
                else { alert("Nein"); }
        }

        </script>

        aber ich weiß nicht genau, wie ich jetzt mehrere felder überprüfe

        Siehe: Logische Operatoren

        und dann halt auf bestehende seite bleibe oder auf externe weiterleite.

        Siehe Hilfe zum window Objekt.

        mfg
          frafu

        1. Hallo!

          <script type="text/javascript">

          function check () {
             if(document.form.feld0.checked) { alert("Ja"); }
                  else { alert("Nein"); }
          }

          </script>

          aber ich weiß nicht genau, wie ich jetzt mehrere felder überprüfe

          Siehe: Logische Operatoren

          und dann halt auf bestehende seite bleibe oder auf externe weiterleite.

          Siehe Hilfe zum window Objekt.

          mfg
            frafu

          hi.

          das ist ja im prinzip schon das, was ich suche:

          function checkForm () {
            if (document.Testform.Art[0].checked == true) {
              window.location.href = "frmdatei.htm";
            }
            else {
              alert("Bitte eine Auswahl treffen");
            }
          }

          ... aber nun bräuchte ich halt bei der ersten if abfrage eine schleife, die mir alle 'Art's' durchprüft, und mir dann wenn eines oder mehrere aktiv sind mir ein 'true' liefert.
          ich habe leider vom array auslesen nicht so viel ahnung.

          grüsse,
          frobi

          1. Hallo!

            ... aber nun bräuchte ich halt bei der ersten if abfrage eine schleife, die mir alle 'Art's' durchprüft, und mir dann wenn eines oder mehrere aktiv sind mir ein 'true' liefert.
            ich habe leider vom array auslesen nicht so viel ahnung.

            Eine IF Abfrage kennt keine Schleife, aber logische Verknüpfungen die in dem vorigen Link beschrieben werden.

            Möglichkeit A: Du kennst die Anzahl von Art zum Zeitpunkt des Code erstellens. Dann musst die Abfragen halt mit logischen Operatoren verknüfpen:

            if (document.Testform.Art[0].checked == true OR document.Testform.Art[1].checked == true OR ....)

            Möglich B: Du kennst die Anzahl erst zur Laufzeit. Dann musst du das Array halt mit einer For Schleife durchgehen und jedes einzelne Art Element überprüfen.

            mfg
              frafu

            1. Hallo!

              ... aber nun bräuchte ich halt bei der ersten if abfrage eine schleife, die mir alle 'Art's' durchprüft, und mir dann wenn eines oder mehrere aktiv sind mir ein 'true' liefert.
              ich habe leider vom array auslesen nicht so viel ahnung.

              Eine IF Abfrage kennt keine Schleife, aber logische Verknüpfungen die in dem vorigen Link beschrieben werden.

              Möglichkeit A: Du kennst die Anzahl von Art zum Zeitpunkt des Code erstellens. Dann musst die Abfragen halt mit logischen Operatoren verknüfpen:

              if (document.Testform.Art[0].checked == true OR document.Testform.Art[1].checked == true OR ....)

              Möglich B: Du kennst die Anzahl erst zur Laufzeit. Dann musst du das Array halt mit einer For Schleife durchgehen und jedes einzelne Art Element überprüfen.

              mfg
                frafu

              hi.

              mit den logischen operatoren habe ich mich schonmal beschäftigt, aber ich bräuchte ja kein 'UND' oder 'ODER' sondern quasi ein 'UND/ODER'.

              habe mir jetzt folgendes script zurechtgelegt:

              function checkForm () {
                var x=0;
                for (var i=0; i<reiseart.length; ++i) {
               if (document.reisen.reiseart[i].checked) { x=1; }
                }
                if(x==1) { window.location.href = "externe seite"; alert("x = 1"); }
                else { window.location.href = "diese seite"; alert("x = 0"); }
              }

              scheint aber leider nicht zu funktionieren.
              ich bekomme nicht einmal ein alert?
              gehe ich da flasch ran?

              grüsse,
              frobi

              1. Hallo!

                function checkForm () {
                  var x=0;
                  for (var i=0; i<reiseart.length; ++i) {

                Was ist reiseart? Das scheint nicht definiert zu sein.

                mfg
                  frafu

      2. Hi,

        aber ich weiß nicht genau, wie ich jetzt mehrere felder überprüfe und dann halt auf bestehende seite bleibe oder auf externe

        "Merker" setzen:

        var mindestens_einer =  false;

        alle Namen der Boxen in ein Array stecken:

        var alle_boxen =  ["box1","box2","box3"];

        jetzt per Schleife alle abfragen

        for (var i = 0; i < alle_boxen.length; i++) {
            if (document.FORMNAME.elements[alle_boxen[i]].checked) mindestens_einer =  true;
        }

        und auswerten:

        if (mindestens_einer) tu_das_eine();
        else mach_was_anderes();

        Ausserdem solltest Du Deinen Nachlesebedarf erkennen, und die entsprechenden Javascript-Referenzen nachlesen, gelle ;-)

        Gruesse, Joachim

        --
        Am Ende wird alles gut.
  2. hi,

    das thema ist bestimmt schon oft angesprochen, doch ich habe noch nicht gescheites zu meinem problem gefunden.

    Dann teile uns bitte mit, welche Frage noch offen sind, nachdem du in selfhtml über das elements-Objekt nachgelesen hast (*).

    gruß,
    wahsaga

    (*) Grundlagenwissen im Umgang mit Javascript vorausgesetzt - falls nicht vorhanden, ist dieses ebenfalls in selfhtml zu erwerben.

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