我在我的代码中有一个非常奇怪的错误,我只是无法弄清楚。基本上,我正在制作一个简单的用户名保存/撤回表单。我接受用户的输入并将其保存到浏览器的本地存储中。之后,当我尝试访问来自以前的输入时,我会从本地存储回忆该项目。奇怪的错误在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的初学者...在这种情况下,那么,你怎么能比较这两个字符串? – SAValkyrie