Javascript中的奇怪错误"if"声明
Odd error in Javascript "if" statement
我的代码中有一个非常奇怪的错误,我只是不能弄清楚它。基本上,我正在制作一个简单的用户名保存/召回表单。我接收来自用户的输入并将其保存到浏览器的本地存储中。之后,当我尝试使用之前的输入进行访问时,我将从localstorage中召回项。
我的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>
使用document.getElementById('userName')。Value从输入文本中获取值。
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').value;
if (document.getElementById('userName').value == localStorage.getItem('login_info')){
alert("Login Successful! Continuing to ..");
window.open("Us.html");
}
else{
alert("Login unsuccessful, please try again!");
}
}
就像@DhavalSoni说的,你需要使用元素。值进行比较。文档。getElementById只表示返回DOM对象,而不是它的值。尝试console.log(Document.getElementById('username'))来检查Chrome调试器中返回的对象。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如果 a 为 false,则 if(a) === if(false)
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 正在尝试使用if和else添加类,但无法正常工作
- 在PHP中使用javascript更改页面标题'if'
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 使用“+="操作人员
- 如何在 API 调用后和 if 语句中启用提交按钮
- 什么是“-[1;平均值;if(!-[1,]&&!window.XMLHttpRequest)"
- KnockoutJS:无法处理绑定"if:function(){return conversations}”;
- HTML/JavaScript”;if!="不起作用
- Knockout.js"<!--ko if:-->"导致分离DOM元素的块
- 如何使用“>"AngularJS ng-if语句中的比较器
- How do i formulate "if this.children.has.not.class"
- 如何创建语句if包含"&"