2013-12-21 56 views
-1

如果是我寫了用戶名但沒有密碼,那麼它應該會出現一個錯誤。如果其中一個是空的用戶名或密碼

問題是隻有當兩個輸入都是空的並且根本沒有內容時才顯示。

我想什麼,如果他們中的一個是空的用戶名或密碼

$(function() { 
    var $login = $("#login"), 
     $pwd = $("#pass"), 
     $usr = $("#brugernavn"); 

    $login.on("submit", function (event) { 
     var msg = "Husk ", 
      usr = ($usr.val().trim() !== ""), 
      pwd = ($pwd.val().trim() !== ""); 

     msg += !usr ? "brugernavn" : ""; 
     msg += !usr && !pwd ? " og " : ""; 
     msg += !pwd ? "kodeord" : ""; 

     (pwd && usr) || alert(msg); 

     return (pwd && usr); 
    }); 
}); 
+3

什麼是所有瘋狂的布爾短手?對「if」過敏? –

+0

我也會拿出逗號。會使它更可讀IMO。 –

+1

逗號沒有任何問題。它允許您只使用一次'var'關鍵字,而不是在每個變量聲明的開始處。 –

回答

2

您目前正在使用的&&運營商,這意味着和。

您想使用||運算符,意思是或。

(pwd || usr) || alert(msg); 
+1

不,驗證只有在輸入密碼和用戶名後才能成功。 – Barmar

+0

等一下,什麼?更改爲'||'表示如果任一變量爲真,則不會顯示警報。 – nnnnnn

+0

說真的,我錯過了什麼?代碼使用'%%'工作。 [的jsfiddle](http://jsfiddle.net/fvrL5/) –

相關問題