服务器/本地上的JavaScript表单验证
我正在使用JavaScript表单验证作为我正在运行的竞赛的参赛表单。它是内联CSS,因此,如果不满足某些条件,它会以红色显示“请输入您的电子邮件地址”或“看起来不是有效的电子邮件地址”等消息 位于文件顶部的脚本如下所示:服务器/本地上的JavaScript表单验证,javascript,html,Javascript,Html,我正在使用JavaScript表单验证作为我正在运行的竞赛的参赛表单。它是内联CSS,因此,如果不满足某些条件,它会以红色显示“请输入您的电子邮件地址”或“看起来不是有效的电子邮件地址”等消息 位于文件顶部的脚本如下所示: <script> function checkForm() { name = document.getElementById("name").value; email = document.getElementById("e
<script>
function checkForm() {
name = document.getElementById("name").value;
email = document.getElementById("email").value;
terms = document.getElementById("terms").value;
if (name == "") {
hideAllErrors();
document.getElementById("nameError").style.display = "inline";
document.getElementById("name").select();
document.getElementById("name").focus();
return false;
} else if (email == "") {
hideAllErrors();
document.getElementById("emailError").style.display = "inline";
document.getElementById("email").select();
document.getElementById("email").focus();
return false;
}
else if (!check_email(document.getElementById("email").value)) {
hideAllErrors();
document.getElementById("emailError2").style.display = "inline";
document.getElementById("email").select();
document.getElementById("email").focus();
return false;
}
else if (!document.form1.terms.checked){
hideAllErrors();
document.getElementById("termsError").style.display = "inline";
document.getElementById("terms").select();
document.getElementById("terms").focus();
return false;
}
return true;
}
function check_email(e) {
ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
for(i=0; i < e.length ;i++){
if(ok.indexOf(e.charAt(i))<0){
return (false);
}
}
if (document.images) {
re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (!e.match(re) && e.match(re_two)) {
return (-1);
}
}
}
function hideAllErrors() {
document.getElementById("nameError").style.display = "none"
document.getElementById("emailError").style.display = "none"
document.getElementById("commentError").style.display = "none"
document.getElementById("termsError").style.display = "none"
}
<form onSubmit="return checkForm();" method="get" action="sweepstakes-results.php"
<input type=checkbox name=terms id=terms ><br></p>
<div class=error id=termsError>Required: Please check the checkbox<br></div>
<p><input type=submit value=Send style="margin-left: 50px"> </p>
</form>
函数检查表(){
name=document.getElementById(“name”).value;
email=document.getElementById(“email”).value;
terms=document.getElementById(“terms”).value;
如果(名称==“”){
可怕的错误();
document.getElementById(“nameError”).style.display=“inline”;
document.getElementById(“名称”).select();
document.getElementById(“name”).focus();
返回false;
}如果出现其他情况(电子邮件==“”){
可怕的错误();
document.getElementById(“emailError”).style.display=“inline”;
document.getElementById(“email”).select();
document.getElementById(“email”).focus();
返回false;
}
否则如果(!check_email(document.getElementById(“email”).value)){
可怕的错误();
document.getElementById(“emailError2”).style.display=“inline”;
document.getElementById(“email”).select();
document.getElementById(“email”).focus();
返回false;
}
如果(!document.form1.terms.checked),则为else{
可怕的错误();
document.getElementById(“termsError”).style.display=“inline”;
document.getElementById(“术语”).select();
document.getElementById(“术语”).focus();
返回false;
}
返回true;
}
功能检查电子邮件(e){
ok=“1234567890qwertyuiop[]asdfghjklzxcvnm.@-"qWERTYUIOPasdfghjklzxcvnm”;
对于(i=0;i 如果(ok.indexOf(e.charAt(i))您的表单没有名称,那么以下代码将不起作用:
else if (!document.form1.terms.checked){
由于您已经在检索签出的DOM对象,请执行以下操作。更改行:
terms = document.getElementById("terms").value;
致:
并将else if代码替换为:
else if (!terms.checked){
你是对的!我按照你说的做了,但是有一个新问题。现在我无法通过验证。无论什么,即使我勾选了复选框,它也会返回false。而且当我进行更改时,当它是本地的时,它不再起作用。非常感谢。这一直是问题所在!Jon Benedicto你让我开心!
else if (!terms.checked){