Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 复选框验证无效_Javascript_Function_Validation - Fatal编程技术网

Javascript 复选框验证无效

Javascript 复选框验证无效,javascript,function,validation,Javascript,Function,Validation,我有一些javascript应该验证复选框(使其成为强制性),但我的表单无论是否选中,都只是提交,以下是我的代码: <script> function validateCheckBoxes(theForm) { if (!theForm.declare.checked) { alert ('You must tick the checkbox to confirm the declaration'); return false; } els

我有一些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>

函数验证ECKBoxes(表单){
如果(!theForm.declare.checked){
警报(“您必须勾选复选框以确认声明”);
返回false;
}否则{
返回true;
}
}

像这样更改函数调用

         return validateCheckBoxes(this);
例如:

      <form name="form" method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>" id="eoi" onsubmit="return validateCheckBoxes(this);">

函数验证ECKBoxes(表单)
{
如果(!theForm.declare.checked)
{
警报(“您必须勾选复选框以确认声明”);
返回false;
}否则{
返回true;
}
}

函数validateCheckBoxes()
{
if(document.getElementById('declare')。checked==false)
{
警报(“您必须勾选复选框以确认声明”);
返回false;
}否则{
返回true;
}
}

这是我为自己所做的努力

<script type='text/javascript'>
    function validateCheckBoxes() 
{
if (document.forms[0].declare.checked == false)
{
    alert ('You must tick the checkbox to confirm the declaration');
    return false;
} else {    
    return true;
}
}
</script>

<form name="form" method="POST" action="yourURL/search" id="eoi"  onsubmit="return validateCheckBoxes();">
    <input type="checkbox" name="declare" id="declare"/>
</form>

函数validateCheckBoxes()
{
if(document.forms[0].declare.checked==false)
{
警报(“您必须勾选复选框以确认声明”);
返回false;
}否则{
返回true;
}
}

我认为您不需要将表单对象的引用传递给函数。

我已经找到了我得到的答案不起作用的原因,我编辑了我的初始帖子,想知道您是否可以向我解释为什么冲突代码导致了这个问题?我已经找到了我得到的答案不起作用的原因,我已经编辑了我最初的帖子,想知道你是否可以向我解释为什么冲突代码会导致这个问题?我还使用了您的代码,该代码现在正在工作。我的HTML下面的代码似乎阻止了我的复选框验证工作,因为当我将代码放在HTML下面的/**/(使其处于非活动状态)之间时,复选框验证代码工作正常
 <script>
  function validateCheckBoxes() 
  {
    if (document.getElementById('declare').checked == false)
     {
      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();">

<input type="checkbox" name="declare" id="declare" />
<input type="submit" name="submit" value="submit" />

</form>
<script type='text/javascript'>
    function validateCheckBoxes() 
{
if (document.forms[0].declare.checked == false)
{
    alert ('You must tick the checkbox to confirm the declaration');
    return false;
} else {    
    return true;
}
}
</script>

<form name="form" method="POST" action="yourURL/search" id="eoi"  onsubmit="return validateCheckBoxes();">
    <input type="checkbox" name="declare" id="declare"/>
</form>