2012-06-24 143 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。

希望這會有幫助