由于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");
}
这样可行,我点击"确定",然后警报提示立即回来!而且我基本上陷入了困境。
任何人都知道如何正确地执行此操作,以便我可以使用该表单?
答案 0 :(得分:0)
你试过吗
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;
}
答案 1 :(得分:0)
必须在表单提交事件中检查(此处为内联但应该不引人注意):
<form onsubmit="return validate(this)"...
并做
function validate(theForm) {
if (!theForm.age.checked) alert("Please....");
return theForm.age.checked;
}
答案 2 :(得分:0)
您可以尝试以下方式:
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);