表单上的Javascript警报问题:警报提示持续出现

表单上的Javascript警报问题:警报提示持续出现,javascript,forms,validation,checkbox,Javascript,Forms,Validation,Checkbox,由于NDA的原因,无法提供此项目的链接,但希望我将发布的代码足以解决此问题 我正在做一个简单的PHP联系人表单。没什么疯狂的。两个文本输入字段和一个用于验证年龄的复选框。如果未选中表格,则无法参加比赛 我在一定程度上进行了验证。下面是正在发生的事情。当我不选中复选框并尝试提交表单时,我会收到一条警告提示,说我不是18岁或以上。JS是这样的: if (!document.forms[0].age.checked) { alert("Sorry, you must be over 18 t

由于NDA的原因,无法提供此项目的链接,但希望我将发布的代码足以解决此问题

我正在做一个简单的PHP联系人表单。没什么疯狂的。两个文本输入字段和一个用于验证年龄的复选框。如果未选中表格,则无法参加比赛

我在一定程度上进行了验证。下面是正在发生的事情。当我不选中复选框并尝试提交表单时,我会收到一条警告提示,说我不是18岁或以上。JS是这样的:

if (!document.forms[0].age.checked)
{ 
    alert("Sorry, you must be over 18 to enter...Please check the over 18 box to proceed");  
} 
这是可行的,我单击OK,但警报提示立即返回!我基本上陷入了一个循环

有人知道如何正确地执行此操作,以便我可以使用该表单吗?

您尝试过吗

if (!document.forms[0].age.checked) {
  alert("Sorry, you must be over 18 to enter...Please check the over 18 box to proceed");
  return false;
} 

必须在此处的表单提交事件内联检查,但应不引人注目:


您可以尝试以下方法:

    var validateForm = function (e) {
       e.preventDefault();
       var formEl = document.forms[0].age;
       if (formEl.checked) {
           alert("Sorry, you must be over 18 to enter...Please check the over 18 box to proceed");
       }
       e.stopPropagation();
   }
按照通常的方式实例化函数,如:

 var button = document.getElementById('submit');
   button.addEventListener('click', validateForm, false);

这个事件叫什么?
 var button = document.getElementById('submit');
   button.addEventListener('click', validateForm, false);