2012-06-24 141 views
0

我有一个登录表单,用户输入用户名和密码以尝试登录到他的配置文件。我想在开始执行服务器端处理之前动态验证这两个字段是否已填充。验证密码字段是否为空


<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,但我需要用它来动态验证。 Plaese指出验证密码字段的错误。

回答

6

丢失的井号:

var password = $("idpassword"); 

应该是:

var password = $("#idpassword"); 
+0

Thanx。,,,明白了! –

5

变化var password = $("idpassword");var password = $("#idpassword");

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语句匹配,

你应该,如果是

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; 

这样,它更改为2,它检查用户名是否被填充,然后如果密码被填充,如果它们都是,则返回true,否则,如果一个是空的,则将其标记为空并且返回false。

希望这会有帮助