javascript - 如何比较两个变量值?
问题描述
我正在制作一个密码应用程序,您首先在其中创建密码并将其保存到变量中。一旦变量具有值,您就可以输入密码。如果用户错了三遍,我想隐藏输入框并显示一条消息。到目前为止它正在工作,但它没有比较两个变量。这是我的代码:
<p id='password'></p>
<input type='password' title='enter your password'>
<input type="submit" onclick='passwords__()'>
<button onclick='savePassword()'>
Save Your New Password
</button>
<script>
var times = 0;
var input = document.getElementsByTagName('input')[0];
var passwords = document.getElementsByTagName('input')[0].value;
var buttons = document.getElementsByTagName('input')[1];
var buttons2 = document.getElementsByTagName('button')[0];
function passwords__() {
times++;
if (times === 3) {
input.style.display = 'none';
document.getElementById('password').innerHTML = 'You can\'t enter your password because you have not enter the right one for three times';
}
if (input.value === passwords) {
alert('You\'re loged in');
}
}
</script>
<script>
function firstCall() {
buttons.style.display = 'none';
}
firstCall();
</script>
<script>
function savePassword() {
buttons.style.display = 'block';
buttons2.style.display = 'none';
}
</script>
解决方案
你错过了什么
- 您正在将第二个输入与空字符串进行比较,因为您在单击事件之前正在运行它
有一些事情你可以在这里改进。
- 保存后密码消失
- 登录时计数为 0
var times = 0;
var input = document.getElementsByTagName('input')[0];
var pass1;
var button = document.getElementsByTagName('input')[1];
var buttons2 = document.getElementsByTagName('button')[0];
function passwords__(){
times++;
pass2 = input.value;
if(times === 3 && pass2 !== pass1){
input.style.display = 'none';
document.getElementById('password').innerHTML = 'You can\'t enter your password because you have not enter the right one for three times';
}
console.log(pass1)
if(pass2 == pass1){
alert('You\'re loged in');
times = 0 ;
}
}
function firstCall(){
button.style.display = 'none';
}
firstCall();
function savePassword(){
pass1 = input.value;
input.value = '';
button.style.display = 'block';
buttons2.style.display = 'none';
}
<p id='password'>
</p>
<input type='password' title='enter your password'>
<input type="submit" onclick='passwords__()'>
<button onclick='savePassword()'>
Save Your New Password
</button>
推荐阅读
- c# - 如何使用在 dotne 核心中返回数据集的 WCF 方法?
- python - 使用区域设置和强制固定小数将浮点数转换为字符串
- c# - .NET Core 3.0.0-preview8 的 EventLogSession 实例化失败
- entity-framework-core - Entity Framework Core 无需嵌套即可获取相关数据
- javascript - 单独查找开始和结束字符
- office-js - Office JS API 发回邮件正文的垃圾内容(当正文包含重音字符时)
- javascript - 如何使用js获取post ID php
- google-cloud-storage - 什么是 gsutil 等价于 objects/get?
- css - IE11 中的 CSS hsl calc 错误
- c# - 统一按下移动设备中的后退按钮后,如何将输入的文本保存在输入字段中