2016-11-01 2 views
-2

Ich erstelle eine clientseitige Verifizierung (Ja, dies scheint keinen Zweck zu erfüllen, tut es aber). Das Problem ist, dass ich nicht so gut mit js bin und mein Code nicht funktioniert.HTML und Javascript Clientseitige Authentifizierung

• Was ich versuche zu erreichen: anschließend auf

Benutzertypen „ABCD“ als Passwort ein und klickt. Javascript überprüft, ob das Passwort "ABCD" ist und wenn ja, fährt es fort, wenn nicht, zeigt es eine Fehlermeldung an.

• Der Code:

HTML:

<div class="login"> 
    <div class="login__check"></div> 
    <div class="login__form"> 
    <div class="login__row"> 
     <svg class="login__icon pass svg-icon" viewBox="0 0 20 20"> 
     <path d="M0,20 20,20 20,8 0,8z M10,13 10,16z M4,8 a6,8 0 0,1 12,0" /> 
     </svg> 
     <input type="password" class="login__input pass" placeholder="Password"/> 
    </div> 
    <button type="button" class="login__submit">Sign in</button> 
    <p class="login__signup">Don't have an account? &nbsp;<a>Sign up</a></p> 
    </div> 
</div> 

javascript:

$(document).on("click", ".login__submit", function (e) { 

    var password = "ABCD"; 
    //this is your password input box 
    if ($('input[pass] .login__input').val() == password) { 
     if (animating) 
      return; 
     animating = true; 
     var that = this; 
     ripple($(that), e); 
     $(that).addClass("processing"); 
     setTimeout(function() { 
      $(that).addClass("success"); 
      setTimeout(function() { 
       $app.show(); 
       $app.css("top"); 
       $app.addClass("active"); 
      }, submitPhase2 - 70); 
      setTimeout(function() { 
       $login.hide(); 
       $login.addClass("inactive"); 
       animating = false; 
       $(that).removeClass("success processing"); 
      }, submitPhase2); 
     }, submitPhase1); 

    } else { 
     alert('Wrong pass!'); 
    } 

}); 

genau das Problem:

index.js immer erzeugt eine falsche Nachricht. Das bedeutet, dass if ($('input[pass] .login__input').val() == password) { niemals wahr ist. Warum ist das nie wahr, auch wenn ich "ABCD" benutze?

Danke allen!

+1

Sie sind sich bewusst, dass diese Art der Authentifizierung genauso stark ist wie keine Authentifizierung, richtig? – Cerbrus

+1

Ja, ich war. Was ich erreichen wollte, ist eine Form, die wie Authentifizierung aussieht, aber eigentlich nicht ist. es funktionierte. – Yahboysurge

+1

Zerstöre deine Posts nicht. –

Antwort

2

Es ist, weil dieser Selektor ist schlecht:

$('input[pass] .login__input') 

Hier ist richtig:

$('.login__input.pass') 
+0

Danke, du bist der MVP! – Yahboysurge

0

Verwenden Sie entweder

$('input[type=password]') 

oder

$('.login__input.pass') 

als Selektor.

Verwandte Themen