私は人の電子メール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
を渡す機能を追加します。現在、すべてがローカルで行われています。
のために起因するここvalues..so使用
trim()
function.seeにスペースであることができることができますあなたのスイッチに 'uname'を渡すコードを表示しますか?何かのような音がそこで間違っている。また、資格をチェックするJSだけでユーザーをログオンすることは良い考えではありません。 – putvandeこれは最初のテストのためのテストコードに過ぎません。後で資格情報を持つデータベースに接続します。 –
* "[email protected]の代わりにtestを使うと、このコードは正常に動作します。" *次に、 'uname'変数に' @ abc.com'部分が含まれていないことが示されます。 * "私が間違っている場所を教えてください" *存在しない値をテストしています。これ以上の情報がなければ私たちはあなたを助けることはできませんが、実際には、ブラウザに組み込まれた完全機能のデバッガを使用して、何が起こっているのかを確認するケースに過ぎません。 –