Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 - Fatal编程技术网

清除验证错误JavaScript

清除验证错误JavaScript,javascript,Javascript,我一直在尝试在用户成功输入并完成所需的验证规则后清除消息,但是我似乎无法清除所有验证错误,我确实环顾四周并尝试了所建议的内容,但似乎不起作用。我认为通过放置空的innerHTML字符串可能会像我在其他帖子中所说的那样起作用 <form action ="" method="POST"> <span id="tryErr"></span><br> <input type="text" id="username" placeho

我一直在尝试在用户成功输入并完成所需的验证规则后清除消息,但是我似乎无法清除所有验证错误,我确实环顾四周并尝试了所建议的内容,但似乎不起作用。我认为通过放置空的innerHTML字符串可能会像我在其他帖子中所说的那样起作用

 <form action ="" method="POST">
    <span id="tryErr"></span><br>
    <input type="text" id="username" placeholder="Username"><br>
    <span id="usernameErr"></span><br>
    <input type="text" id="email" placeholder="Email address"><br>
    <span id="emailErr"></span><br>
    <input type="password" id="password" placeholder="Password"><br>
    <span id="passwordErr"></span><br>
    <input type="submit" value="Submit" onclick=" return confirmValidation();">
</form>    








JS


函数validateUsername(用户名,错误){
var username=document.getElementById(“用户名”).value,
error=document.getElementById(“usernameErr”);
如果(用户名==null | |用户名==“”){
return error.innerHTML=“需要用户名”;
返回false;
}
如果(!username.match(/^[0-9a-z]+$/)| | username.length<3),则为else{
return error.innerHTML=“用户名必须是字母数字和三个字符长”;
返回false;
}
否则{
返回error.innerHTML=“”;
返回true;
}
}
函数validatePassword(密码,错误){
var password=document.getElementById(“密码”).value,
error=document.getElementById(“密码错误”);
如果(密码==null | |密码==“”){
return error.innerHTML=“需要密码”;
返回false;
}
else if(password.length<7){
return error.innerHTML=“密码长度必须为七个字符”;
返回false;
}
否则{
返回error.innerHTML=“”;
返回true;
}
}
函数validateEmail(电子邮件,错误){
var email=document.getElementById(“电子邮件”).value,
apos=email.indexOf(“@”),
dotpos=email.lastIndexOf(“.”),
error=document.getElementById(“emailErr”);
如果(email==null | | email==“”){
return error.innerHTML=“需要电子邮件”;
返回false;
}
如果(apos<1 | | dotpos apos<2 | | dotpos==(email.length-1)){
return error.innerHTML=“请输入有效的电子邮件”;
返回false;
} 
否则{
返回error.innerHTML=“”;
返回true;
}
}
功能确认验证(e){
事件.预防违约(e);
如果(!validateUsername()){
返回false;
}
如果(!validatePassword()){
返回false;
}
如果(!validateEmail()){
返回false;
}
否则{
//在这里做点聪明的事
}
}

您应该对输入类型使用onchange事件。 像



您应该对输入类型使用onchange事件。像
A我看到了,所以onclick=“return confirmValidation();总体上是无用的吗?是的,您可以删除那个
 <script type="text/javascript">      

    function validateUsername(username, error){
        var username = document.getElementById("username").value,
        error = document.getElementById("usernameErr");

       if(username == null || username==""){   
        return error.innerHTML = "Username is required";
        return false;
       }
        else if(!username.match(/^[0-9a-z]+$/) || username.length < 3){
        return error.innerHTML = "Username must be alphanumeric and three characters long";
        return false;
       }
       else{
           return error.innerHTML = "";
           return true;
       }
    }

    function validatePassword(password, error){
        var password = document.getElementById("password").value,
        error = document.getElementById("passwordErr");
       if(password == null || password==""){
        return error.innerHTML = "Password is required";
        return false;
       }
        else if(password.length < 7){
        return error.innerHTML = "Password must be seven characters long";    
        return false;
       }
       else{
           return error.innerHTML = ""; 
           return true;
       }
    }

    function validateEmail(email, error){
        var email = document.getElementById("email").value,
        apos = email.indexOf("@"),
        dotpos = email.lastIndexOf("."),
        error = document.getElementById("emailErr");

        if(email == null || email==""){
        return error.innerHTML = "Email is required";
        return false;
       }
        if (apos < 1  ||  dotpos-apos < 2 || dotpos == (email.length - 1)){
            return error.innerHTML = "Please enter a valid email";
            return false;
        } 
        else{
            return error.innerHTML = "";
            return true;
        }
    }


    function confirmValidation(e){
        event.preventDefault(e);    
        if(!validateUsername()){
            return false;
        }
        if(!validatePassword()){
            return false;
        }
         if(!validateEmail()){
           return false;
        }
        else{
            //do something clever here

        }
    }

    </script>
<input type="text" id="username" placeholder="Username " onchange="validateUsername()">