2017-01-02 5 views
-3

私は人の電子メールIDを取得し、パスワードをテストする簡単なスイッチケースを持っています。今のところ、私は値をハードコーディングしています。私の問題は、私はユーザー名を使用すると、スイッチのケースは正常に動作しますが、電子メールIDで同じものを試しても、必要な機能は呼び出されません。なにが問題ですか?コードは次のとおりです。javascriptのスイッチケースが値として電子メールIDで動作しない

switch(uname){ 
    case "":if(pass == ""){ alert("Please enter you credentials!!");} 
     break; 
    case "[email protected]": if(pass == "test123"){ NavigateToDash(); } 
       else{alert("Wrong Credentials!! Please re-enter!!");} 
       break; 
    case "[email protected]": if(pass == "admin123"){ NavigateToAdmin(); } 
        else{alert("Wrong Credentials!! Please re-enter!!")} 
        break; 
    default: alert("Something is wrong!! contact admin"); 
} 

unameは、HTMLページのボタンクリックで設定されています。

機能NavigateToDash()が呼び出されていません。 [email protected]の代わりにtestだけを使用すると、このコードは正常に動作します。私が間違っている場所を教えてください。

ご協力いただきありがとうございます。私はsetValues最初にこの関数を呼び出しています、switchと機能に

function setValues(){ 
     uname = document.getElementById('user').value; 
     pass = document.getElementById('password').value; 
     window.localStorage.setItem('user', uname); 
     window.localStorage.setItem('pass', pass); 
} 

EDIT

switchステートメントにunameを渡す機能を追加します。現在、すべてがローカルで行われています。

+6

のために起因するここvalues..so使用trim() function.seeにスペースであることができることができますあなたのスイッチに 'uname'を渡すコードを表示しますか?何かのような音がそこで間違っている。また、資格をチェックするJSだけでユーザーをログオンすることは良い考えではありません。 – putvande

+0

これは最初のテストのためのテストコードに過ぎません。後で資格情報を持つデータベースに接続します。 –

+0

* "[email protected]の代わりにtestを使うと、このコードは正常に動作します。" *次に、 'uname'変数に' @ abc.com'部分が含まれていないことが示されます。 * "私が間違っている場所を教えてください" *存在しない値をテストしています。これ以上の情報がなければ私たちはあなたを助けることはできませんが、実際には、ブラウザに組み込まれた完全機能のデバッガを使用して、何が起こっているのかを確認するケースに過ぎません。 –

答えて

1

私はここでうまく働いている....問題はあなたの内にあってもよいfunctions.Also問題はよりhttp://www.w3schools.com/jsref/jsref_trim_string.asp

<script type="text/javascript"> 
uname = document.getElementById('user').value); 
pass = document.getElementById('password').value); 
var u = uname.trim(); 
var p = pass.trim(); 
test(u,p); 

function test(uname,pass){ 

switch(uname){ 
    case "":if(pass == ""){ alert("Please enter you credentials!!");} 
     break; 
    case "[email protected]": if(pass == "test123"){ hello(); } 
       else{alert("Wrong Credentials!! Please re-enter!!");} 
       break; 
    case "[email protected]": if(pass == "admin123"){ hello(); } 
        else{alert("Wrong Credentials!! Please re-enter!!")} 
        break; 
    default: alert("Something is wrong!! contact admin"); 
} 
} 

function hello(){ 
alert('hello'); 
} 
</script> 
+0

コードをリファクタリングして、 –

+0

を確認してください。上記のようにしてください。 –

関連する問題