GH: Formularcheck

Hallo zusammen!

Ich habe folgendes Problem: Ich möchte beim Anklicken einer Checkbox eine alert-Meldung, falls nicht zumindest eine andere Checkbox von mehreren Checkboxen angeklickt ist.

Bei input type ="text" ist das kein Problem, aber bei den Kontrollkästchen funktioniert es nicht. Was mache ich falsch? Den value="ON" brauche ich für das Script, das dann noch gestartet wird. Kann ich onClick hier nicht einsetzen?

<html>
<head>
<title>Formulareingaben überprüfen</title>
<script type="text/javascript">
<!--
function chkFormular()
{
 if(document.Formular.Kategorie1.value == "" && document.Formular.Kategorie2.value == ""
   && document.Formular.Kategorie3.value == "" && document.Formular.Kategorie4.value == ""
  && document.Formular.Material.value == "ON")  {
   alert("Sie müssen zuerst eine Kategorie wählen!");
   return false;
  }
}
//-->
</script>
</head>
<body bgcolor="#EEEEEE" text="#000000">

<h1>Formular</h1>

<form name="Formular" action="http://selfaktuell.teamone.de/cgi-bin/formview.pl" method="post">
<pre>
Kategorie 1:     <input type="checkbox" name="Kategorie1" value="ON">
Kategorie 2:     <input type="checkbox" name="Kategorie2" value="ON">
Kategorie 3:     <input type="checkbox" name="Kategorie3" value="ON">
Kategorie 4:     <input type="checkbox" name="Kategorie4" value="ON">

Material dazu:   <input type="checkbox" name="Material" value="ON" onClick="return chkFormular()">

</pre>
</form>

</body>
</html>

  1. Hallo GH,

    frage nicht den value ab, sondern den Status:

    if(document.Formular.Kategorie1.checked)

    oder - ich bin mit da nicht sicher - mit Index

    if(document.Formular.Kategorie1[0].checked)

    Näheres findest Du in SelfHTML.

    Gruß

    Eidgenosse

    1. Hallo GH,

      frage nicht den value ab, sondern den Status:

      if(document.Formular.Kategorie1.checked)

      oder - ich bin mit da nicht sicher - mit Index

      if(document.Formular.Kategorie1[0].checked)

      Näheres findest Du in SelfHTML.

      Gruß

      Eidgenosse

      Danke für die Antwort!

      Ich habe es so gelöst:

      <script type="text/javascript">
      <!--
      function chkFormular()
      {
       if(document.Formular.Kategorie1.checked || document.Formular.Kategorie2.checked
         || document.Formular.Kategorie3.checked || document.Formular.Kategorie4.checked
        && document.Formular.Material.checked)  {}
        else{
         alert("Sie müssen zuerst eine Kategorie wählen!");
         return false;
        }
      }
      //-->
      </script>

      lG
      GH