私のコードには本当に奇妙なエラーがあります。基本的には、簡単なユーザー名の保存/呼び出しフォームを作っています。私はユーザーから入力を受け取り、ブラウザのローカルストレージに保存します。その後、私が前からの入力でアクセスしようとすると、私はlocalstorageからそのアイテムを思い出すでしょう。Javascriptの "if"文の奇妙なエラー
if文が機能していないようです。私は項目を個別に比較しようとしました - "document.getElementById( 'userName')"をランダムな文字列と "localStorage.getItem( 'login_info')と比較してみました。しかし、私がしようとするとき
if (localStorage.getItem('login_info') === document.getElementById('userName'))
コードは決して出力としてtrueを返すことはありません。 アイデア? ありがとう!
<!DOCTYPE html>
<html>
<head>
<title>Try</title>
</head>
<body>
<p> Please type in your username and password </p>
<form id="register_form">
<input id="name1" type="text" placeholder="Name" value=""/>
<input id="rgstr_btn" type="submit" value="Register" onClick="store()"/>
</form>
<form name="login">
<input id="userName" type="text" placeholder="Enter Username" value=""/>
<input id="login_btn" type="submit" value="Login" onClick="check()"/>
<input type="reset" value="Cancel"/>
</form>
<script type="text/javascript">
var user_name = document.getElementById('name1');
function store(){
localStorage.setItem('login_info', user_name.value)
}
function check(){
var storedName = localStorage.getItem('login_info');
// entered data from the login form
var user_Name = document.getElementById('userName');
if (document.getElementById('userName') === localStorage.getItem('login_info')){
alert("Login Successful! Continuing to ..");
window.open("Us.html");
}
else{
alert("Login unsuccessful, please try again!");
}
}
</script>
<noscript> Please try a different browser! </noscript>
</body>
</html>
オブジェクトを比較しているためです。 [ここ](http://stackoverflow.com/q/201183/5647260)を参照してください。 – Li357
オブジェクトとオブジェクトを比較することはJavaScriptではうまくいきません –
ああ、私はこの部分に気づいたことはありませんでした。私はまだjavascriptの初心者です...このシナリオでは、どうやって2つの文字列を比較できますか? – SAValkyrie