Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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_Html - Fatal编程技术网

服务器/本地上的JavaScript表单验证

服务器/本地上的JavaScript表单验证,javascript,html,Javascript,Html,我正在使用JavaScript表单验证作为我正在运行的竞赛的参赛表单。它是内联CSS,因此,如果不满足某些条件,它会以红色显示“请输入您的电子邮件地址”或“看起来不是有效的电子邮件地址”等消息 位于文件顶部的脚本如下所示: <script> function checkForm() { name = document.getElementById("name").value; email = document.getElementById("e

我正在使用JavaScript表单验证作为我正在运行的竞赛的参赛表单。它是内联CSS,因此,如果不满足某些条件,它会以红色显示“请输入您的电子邮件地址”或“看起来不是有效的电子邮件地址”等消息

位于文件顶部的脚本如下所示:

<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){