チェックボックスを検証する(必須にする)はずのjavascriptがいくつかありますが、チェックされているかどうかに関係なく、フォームが送信されているかどうかに関係なく、私のコードは次のとおりです。
<script>
  function validateCheckBoxes(theForm) {
    if (!theForm.declare.checked) {
      alert ('You must tick the checkbox to confirm the declaration');
      return false;
    } else {    
      return true;
    }
  }
</script>
<form name="form" method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>" id="eoi" onsubmit="return validateCheckBoxes(this);">
  <input type="checkbox" name="declare" id="declare">
  <input type="submit" name="submit" id="submit" value="submit">
</form>
なぜそれが機能しないのかについてのアイデアはありますか?