验证密码字段是否为空

时间:2012-06-24 19:40:16

标签: javascript jquery

我有一个登录表单,用户在其中输入用户名和密码以尝试登录其个人资料。我想在开始进行服务器端处理之前动态验证两个字段都已填满。


<form id="form" method="post" action="student.jsp">

          <label><strong>Username :</strong><br/><br/>
          <input type="text" value="" name="username" id="idusername">
        </label><br/><br/>

          <label><strong>Password :</strong><br/><br/>
          <input type="text" value="" name="password" id="idpassword">
            </label><br/><br/><br/>

          <input id="minibutton" name="send" type="submit" value="Login" />
        </form>

我正在使用javascript,只要用户名留空并且我们尝试登录,它就会正确验证并发出警报。但是,密码字段不会这样做,我们可以将其留空。


$(document).ready(function(){
//global vars
var form = $("#form");
var username= $("#idusername");
var password = $("idpassword");

//On Submitting
form.submit(function(){
    if(username.val().length==0 || password.val().length==0){
                    alert('Please enter the username');
        return false;
                    }
    else
    {
                if(password.val().length==0)
                    {
                        alert('Please enter the password');
                        return false;
                    }

                 else   
                    return true;
    }
});
});

我不擅长javascript,但我需要将它用于动态验证。在验证密码字段时出现错误。

3 个答案:

答案 0 :(得分:6)

缺少的哈希符号:

var password = $("idpassword");

应该是:

var password = $("#idpassword");

答案 1 :(得分:5)

var password = $("idpassword");更改为var password = $("#idpassword");

答案 2 :(得分:1)

也在你的逻辑中:

if(username.val().length==0 || password.val().length==0){
    alert('Please enter the username');
    return false;
}
else{
    if(password.val().length==0)
    {
        alert('Please enter the password');
        return false;
    }
    else   
        return true;
}

如果用户名或密码为空,则总是会说“请输入用户名”,因为它与if子句匹配,

如果是

,你应该把它改成2
if(username.val().length==0){
    alert('Please enter the username');
    return false;
}
if(password.val().length==0){
    alert('Please enter the password');
    return false;
}
return true;

这样,它检查用户名是否已填写,如果密码已填满,如果两者都填写,则返回true,否则,如果一个为空,则将其标记为空并返回false。

希望这有帮助