在javascript验证中,我必须单击两次提交按钮

时间:2016-12-29 06:26:05

标签: javascript html



function validaterole(role)
{
    if(role.value==="select")
    {
        var x="select your role";
        document.getElementById("role").innerHTML=x;
    }
    else
    {
        document.getElementById("role").innerHTML="";
        return true;
    }
}

function validatepwd(pwd)
{
    //var pwdchecker=/^([A-Za-z0-9]{8,8})$/;            
    //var pwdchecker=/^([A-Z]{1,}[a-z]{1,}[0-9]{1,}(@|#|$))$/;
    var pwdchecker=/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[$@#]).{8,12}$/;

    if(pwd.value===""){
        x="pls enter your password";
        document.getElementById("pw").innerHTML=x;
        return false;
    }
    else if(pwd.value.length < 7 || pwd.value.length > 12){
        x="password length should be 8 to 12";
        document.getElementById("pw").innerHTML=x;
        return false;
    }
    else if(pwd.value.match(pwdchecker))
    {
        x="";
        document.getElementById("pw").innerHTML=x;
        return true;
    }
    else
    {
        x="password should contain atleast one<br>uppercase and one lowercase<br> alhabets and one number<br>and one special characters($@#)";
        document.getElementById("pw").innerHTML=x;
        return false;
    }
}

function validateemail(email)
{
    var emailchecker=/^([A-Za-z0-9.]{5,30})\@([A-Za-z]{2,13})\.([A-Za-z]{2,4})$/;
    if(email.value==="")
    {
        x="pls enter your email";
        document.getElementById("em").innerHTML=x;
        return false;
    }
    else if(email.value.match(emailchecker)){
        x="";
        document.getElementById("em").innerHTML=x;
        return true;
    }
    else{ 
        x="Invalid email";
        document.getElementById("em").innerHTML=x;
        return false;
    }
}    
&#13;
<form action="login" name="log" method="post" onsubmit="return (validateemail(document.log.email) && validatepwd(document.log.pwd) && validaterole(document.log.role))">

    <a href="Registration.jsp"><p align="right">New User</p></a>

    <table align="center">
        <tr>
            <td>E-Mail
            </td>
            <td><input type="text" name="email" onblur="validateemail(document.log.email)"></td>
        </tr>
        <tr>
            <td colspan="2" align="right"><span id="em"></span></td>
        </tr>
        <tr>
            <td>PassWord</td>
            <td><input type="password" name="pwd" onblur="validatepwd(document.log.pwd)"></td>
        </tr>
        <tr>
            <td colspan="2" align="right"><span id="pw"></span></td>
        </tr>
        <tr>
            <td>Role</td>
            <td>
                <select id="sel" name="role" onblur="validaterole(document.log.role)">
                    <option value="select">Select</option>
                <option value="principal">Principal</option>
                <option value="hod">Hod</option>
                <option value="staff">Staff</option>
                <option value="student">Student</option>
            </select>
            </td>
        <tr>
            <td></td>
            <td align="left"><span id="role"></span></td>
        </tr>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="Log In"></td>
        </tr>
    </table>
</form>


 
&#13;
&#13;
&#13;

我的onfocusout或onblur事件的第二个问题,每当我点击提交按钮时,表单都没有提交,在第二次点击时,表单已提交.. 我需要一键完成。如果你有解决方案,请告诉我

1 个答案:

答案 0 :(得分:0)

在提交按钮上使用单个功能,并从该功能调用其他功能。