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

表单验证问题。Javascript/HTML

表单验证问题。Javascript/HTML,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在我的第一年Javascript项目中,我的表单验证逻辑有问题 特别是我的错误报告事件 当我测试“未输入用户名”等时,页面会随机刷新。 一些错误将显示片刻并消失 任何帮助都将不胜感激,并将有助于解决整个问题 <body onload="setup()"> <div class="container-fluid"> <div class="page-header" class = "row"> <div class="col-lg-

在我的第一年Javascript项目中,我的表单验证逻辑有问题

特别是我的错误报告事件

当我测试“未输入用户名”等时,页面会随机刷新。 一些错误将显示片刻并消失

任何帮助都将不胜感激,并将有助于解决整个问题

<body onload="setup()">
<div class="container-fluid">
    <div class="page-header" class = "row">
        <div class="col-lg-12"> 
            <img id="banner" src = "pictures/homepage/banner.jpg" width = "100%" height = "20%"></img>
        </div>
        <p id="charc">Charcoal</p>
    </div>
    <div class="butts">
        <button onclick="dropdown()" class="button">Categories</button> 
        <button class="button">My Account</button>
        <button class="button">Shopping Cart</button>
        <button id="loggedIn-Out" class="button">Login/Register</button>
    </div>
    <div id="myDropDwn" class= "dropContent">
        <a href = "#"> womens </a>
        <a href = "#"> mens </a>
        <a href = "#"> shoes </a>
        <a href = "#"> accessories </a>
    </div>
</div>

<div class="login-page" class="col-lg-6">
    <div class="form">
        <form id="logForm" class="login-form">
            <input id="username" type="text" placeholder="Username">
            <div id="login-user-error" class="errorReps"></div>

            <input id="password" type="password" placeholder="Password">
            <div id="login-pass-error" class="errorReps"></div>

            <button onclick="loginUser()">Login</button>
            <div id="login-error" class="errorReps"></div>
            <p class="loginMessage"> Not Registered? <a href="#">Register</a>
            <br>
            <br>
            <a href="register.html" id="logoutButton" onclick="logoutUser()">Logout</a>
        </form>

        <form id="regForm" class="register-form">
            <input id="newFName" type="text" placeholder="First Name">
            <div id="reg-FName-error" class="errorReps"></div>

            <input id="newLName" type="text" placeholder="Last Name">
            <div id="reg-LName-error" class="errorReps"></div>

            <input id="newUName" type="text" placeholder="Username">
            <div id="reg-UName-error" class="errorReps"></div>

            <input id="newPass" type="password" placeholder="Password"> 
            <div id="reg-pass-error" class="errorReps"></div>
            <div id="passStrength"></div>

            <input id="newEmail" type="email" placeholder="Email">
            <div id="reg-email-error" class="errorReps"></div>

            <input id="newPhone" type="number" placeholder="Tel. Number">
            <div id="reg-phone-error" class="errorReps"></div>

            <button onclick="registerUser()">Create</button>
            <p class="loginMessage"> Already Registered? <a href="#">Login</a>
        </form>

    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
    $('.loginMessage a').click(function(){
    $('form').animate({height:"toggle", opacity: "toggle"}, "slow");
    });
</script>

<script>

// pre-coded users

var existingUsers = 
[
    {   
        firstname: "Gerry",
        lastname: "Agnew",
        username: "GerryA",
        password: "password123",
        email: "gerry@gmit.ie",
        phone:"0833333333"

    },
    {
        firstname: "Sean",
        lastname: "Duignan",
        username: "SeanD",
        password: "password456",
        email: "sean@gmit.ie",
        phone:"0822222222"
    },
    {
        firstname: "Michael",
        lastname: "Duignan",
        username: "MichaelD",
        password: "password789",
        email: "michael@gmit.ie",
        phone:"0844444444"
    }
]

//function setup()
//{
    // setup functions
//}


function dropdown()
{
    document.getElementById("myDropDwn").classList.toggle("show");
}
username.addEventListener('blur', logUserVerify, true);
password.addEventListener('blur', logPassVerify, true);
newFName.addEventListener('blur', fNameVerify, true);
newLName.addEventListener('blur', lNameVerify, true);
newUName.addEventListener('blur', regUserVerify, true);
newPass.addEventListener('blur', regPassVerify, true);
newEmail.addEventListener('blur', emailVerify, true);
newPhone.addEventListener('blur', phoneVerify, true);

function loginValidate()
{
    if(username == "")
    {
        document.getElementById("login-user-error").innerHTML = "Username required";
        //username.focus();
        return false;
    }       
    if(password == "")
    {
        document.getElementById("login-pass-error").innerHTML = "Password required";
        password.focus();
        return false;
    }       
}

function registerValidate()
{
    if(registerFName == "")
    {
        document.getElementById("reg-FName-error").innerHTML = "First Name required";
        newFName.focus();
        return false;
    }
    if(registerLName == "")
    {
        document.getElementById("reg-LName-error").innerHTML = "Last Name required";
        newLName.focus();
        return false;
    }
    if(registerUName == "")
    {
        document.getElementById("reg-UName-error").innerHTML = "Username required";
        newUName.focus();
        return false;
    }
    if(registerUName.length < 8)
    {
        document.getElementById("reg-UName-error").innerHTML = "Username must be 8 characters or more";
        newUName.focus();
        return false;
    }
    if(registerPass == "")
    {
        document.getElementById("reg-pass-error").innerHTML = "Password required";
        newPass.focus();
        return false;
    }
    if(registerEmail == "")
    {
        document.getElementById("reg-email-error").innerHTML = "Email required";
        newEmail.focus();
        return false;
    }
    if(registerPhone == "")
    {
        document.getElementById("reg-phone-error").innerHTML = "Phone number required";
        newPhone.focus();
        return false;
    }
}
// Event Functions

function logUserVerify()
{
    if (username != "")
    {
        document.getElementById("login-user-error").innerHTML = "";
        return true;
    }
}
function logPassVerify()
{
    if (password != "")
    {
        document.getElementById("login-pass-error").innerHTML = "";
        return true;
    }
}
function fNameVerify()
{
    if (registerFName != "")
    {
        document.getElementById("login-FName-error").innerHTML = "";
        return true;
    }
}
function lNameVerify()
{
    if (registerLName != "")
    {
        document.getElementById("login-LName-error").innerHTML = "";
        return true;
    }
}
function regUserVerify()
{
    if (registerUName != "")
    {
        document.getElementById("login-UName-error").innerHTML = "";
        return true;
    }
    if (registerUName > 8)
    {
        document.getElementById("login-UName-error").innerHTML = "";
        return true;
    }
}
function regPassVerify()
{
    if (registerPass != "")
    {
        document.getElementById("login-pass-error").innerHTML = "";
        return true;
    }
}
function phoneVerify()
{
    if (registerPhone != "")
    {
        document.getElementById("login-phone-error").innerHTML = "";
        return true;
    }
}
function emailVerify()
{
    if (registerEmail != "")
    {
        document.getElementById("login-email-error").innerHTML = "";
        return true;
    }
}   

// Login/Register Functions

function loginUser()
{
    var username = document.getElementById("username").value;
    var password = document.getElementById("password").value;

    for (i = 0; i < existingUsers.length; i++)
    {
        if(username == existingUsers[i].username && password == existingUsers[i].password)
        {
            alert(username + " Is logged in");
            document.getElementById("loggedIn-Out").innerHTML = username;
            document.getElementById("login-user-error").innerHTML = "";
            localStorage.user = username;
            localStorage.pass = password;
            return;
        }
        else if(username != existingUsers[i].username)
        {
            document.getElementById("login-user-error").innerHTML = "Invalid, user does not exist";
            username.focus();
            return false;
        }

        else
        {
            loginValidate();
        }   
    }
}

function logoutUser()
{
    localStorage.removeItem("user");
    localStorage.removeItem("pass");
    document.getElementById("loggedIn-Out").innerHTML = "Login/Register";
}

function registerUser()
{
    var registerFName = document.getElementById("newFName").value;
    var registerLName = document.getElementById("newLName").value;
    var registerUName = document.getElementById("newUName").value;
    var registerPass = document.getElementById("newPass").value;
    var registerEmail = document.getElementById("newEmail").value;
    var registerPhone = document.getElementById("newPhone").value;

    localStorage.regFname = registerFName;
    localStorage.regLname = registerLName;
    localStorage.regUname = registerUName;
    localStorage.regPass = registerPass;
    localStorage.regMail = registerEmail;
    localStorage.regPhone = registerPhone;

    var newUser =
    {
        firstname: registerFName,
        lastname: registerLName,
        username: registerUName,
        password: registerPass,
        email: registerEmail,
        phone: registerPhone
    }

    for(i = 0; i < existingUsers.length; i++)
    {

        if(registerUName == existingUsers[i].username)
        {
            document.getElementById("reg-UName-error").innerHTML = "Username already exists";
            newUName.focus();
            return false;
        }

        if(registerEmail == existingUsers[i].email)
        {
            document.getElementById("reg-email-error").innerHTML = "Email already exists";
            newEmail.focus();
            return false;
        }
        registerValidate();
    }
    existingUsers.push(newUser);
}
// Password Strength functions

function passwordStr()
{
    var passValue = document.getElementById("newPass").value;

    if(passValue.length >= 8 && passValue.length <= 10)
    {
        document.getElementById("passStrength").innerHTML = "Weak";
    }
    else if(passValue.length > 10 && passValue.length <= 16)
    {
        document.getElementById("passStrength").innerHTML = "Average";
        document.getElementById("passStrength").style.color = "yellow";
    }
    else if(passValue.length > 16)
    {
        document.getElementById("passStrength").innerHTML = "Strong";
        document.getElementById("passStrength").style.color = "green";
    }
    else
    {
        document.getElementById("passStrength").style.color = "red";
    }
}
var passInput = document.getElementById("newPass");
passInput.addEventListener("input", passwordStr);

</script>

木炭

类别 我的帐户 购物车 登录/注册 登录

是否未注册?

创造

是否已注册? $('.loginMessage a')。单击(函数(){ $('form').animate({height:“toggle”,opacity:“toggle”},“slow”); }); //预编码用户 var existingUsers= [ { 名字:“格里”, 姓:“阿格纽”, 用户名:“GerryA”, 密码:“password123”, 电子邮件:“gerry@gmit.ie", 电话:0833333333 }, { 名字:“肖恩”, 姓氏:“Duignan”, 用户名:“SeanD”, 密码:“password456”, 电子邮件:“sean@gmit.ie", 电话:082222 }, { 名字:“迈克尔”, 姓氏:“Duignan”, 用户名:“MichaelD”, 密码:“password789”, 电子邮件:“michael@gmit.ie", 电话:“084444” } ] //函数设置() //{ //设置功能 //} 函数下拉列表() { document.getElementById(“myDropDwn”).classList.toggle(“show”); } username.addEventListener('blur',logUserVerify,true); 密码.addEventListener('blur',logPassVerify,true); newFName.addEventListener('blur',fNameVerify,true); newLName.addEventListener('blur',lNameVerify,true); newUName.addEventListener('blur',regUserVerify,true); newPass.addEventListener('blur',regPassVerify,true); newEmail.addEventListener('blur',emailVerify,true); newPhone.addEventListener('blur',phoneVerify,true); 函数loginValidate() { 如果(用户名==“”) { document.getElementById(“登录用户错误”).innerHTML=“需要用户名”; //username.focus(); 返回false; } 如果(密码==“”) { document.getElementById(“登录密码错误”).innerHTML=“需要密码”; password.focus(); 返回false; } } 函数registerValidate() { 如果(RegisterName==“”) { document.getElementById(“reg FName error”).innerHTML=“需要名字”; newFName.focus(); 返回false; } 如果(RegisterName==“”) { document.getElementById(“reg LName error”).innerHTML=“需要姓氏”; newLName.focus(); 返回false; } 如果(registerName==“”) { document.getElementById(“reg UName error”).innerHTML=“需要用户名”; newUName.focus(); 返回false; } 如果(registerName.length<8) { document.getElementById(“reg UName error”).innerHTML=“用户名必须是8个字符或更多”; newUName.focus(); 返回false; } 如果(registerPass==“”) { document.getElementById(“reg pass error”).innerHTML=“需要密码”; newPass.focus(); 返回false; } 如果(registerEmail==“”) { document.getElementById(“reg电子邮件错误”).innerHTML=“需要电子邮件”; newEmail.focus(); 返回false; } 如果(注册电话==“”) { document.getElementById(“注册电话错误”).innerHTML=“需要电话号码”; newPhone.focus(); 返回false; } } //事件函数 函数logUserVerify() { 如果(用户名!=“”) { document.getElementById(“登录用户错误”).innerHTML=“”; 返回true; } } 函数logPassVerify() { 如果(密码!=“”) { document.getElementById(“登录传递错误”).innerHTML=“”; 返回true; } } 函数fNameVerify() { 如果(registerName!=“”) { document.getElementById(“登录FName错误”).innerHTML=“”; 返回true; } } 函数lNameVerify() { if(registerName!=“”) { document.getElementById(“登录名错误”).innerHTML=“”; 返回true; } } 函数regUserVerify() { 如果(registerName!=“”) { document.getElementById(“登录取消错误”).innerHTML=“”; 返回true; } 如果(注册表名>8) { document.getElementById(“登录取消错误”).innerHTML=“”; 返回true; } } 函数regPassVerify() { 如果(registerPass!=“”) { document.getElementById(“登录传递错误”).innerHTML=“”; 返回true; } } 函数phoneVerify() { 如果(注册电话!=“”) { document.getElementById(“登录电话错误”).innerHTML=“”; 返回true; } } 函数emailVerify() { 如果(registerEmail!=“”) { document.getElementById(“登录电子邮件错误”).innerHTML=“”; 返回true; } } //登录/注册功能 函数loginUser() { var username=document.getElementById(“用户名”).value; var password=document.getElementById(“密码”).value; 对于(i=0;i<button type="button" onclick="loginUser()">Login</button>