Javascript document.location或window.location.href赢得';在条件的if部分不起作用,但在else部分起作用
我使用以下代码验证表单中的密码。如果密码正确-将用户移动到站点X。如果密码不正确(尝试3次后),将用户移动到站点Y 出于某种原因,它只适用于站点Y 我的代码:Javascript document.location或window.location.href赢得';在条件的if部分不起作用,但在else部分起作用,javascript,url,Javascript,Url,我使用以下代码验证表单中的密码。如果密码正确-将用户移动到站点X。如果密码不正确(尝试3次后),将用户移动到站点Y 出于某种原因,它只适用于站点Y 我的代码: 输入密码以继续: 设t=0; 设误差=0; 让password='tiesto'; document.querySelector(“#myButton”).onclick=()=>{ 让passwordValue=document.querySelector('#user').value; 如果(密码===密码值){ window.lo
输入密码以继续:
设t=0;
设误差=0;
让password='tiesto';
document.querySelector(“#myButton”).onclick=()=>{
让passwordValue=document.querySelector('#user').value;
如果(密码===密码值){
window.location.href=http://maariv.co.il';
}否则{
尝试++;
警惕('请再试一次');
}
如果(trys==3){//3是边界。
错误++;
}
如果(错误===1){
window.location.href=http://microsoft.com';
}
};
我试着做:
==
更改为=
(我想,可能是因为它是一个字符串,引号也算在内,当然我错了)window.location.href=http://maariv.co.il,正确
李>
窗口.location.href下添加返回false
这只是一个练习。的确这不会投入生产。在生产中,我应该从数据库中存储并请求密码。使用
返回
:
if (password === passwordValue) {
return window.location.href = 'http://maariv.co.il';
}
否则,函数将执行到底,您将到达第二个重定向,该重定向将覆盖第一个重定向。放置以下行
let passwordValue=document.querySelector(“#user”).value代码>单击“mybutton”的内部
let trys=0;
设误差=0;
让password='tiesto';
document.querySelector(“#myButton”).onclick=()=>{
设passwordInput=document.querySelector(“#passwordInput”).value;
如果(密码===密码值){
window.location.href=http://maariv.co.il';
}否则{
尝试++;
警惕('请再试一次');
}
如果(trys==3){//3是边界。
错误++;
}
如果(错误===1){
window.location.href=http://microsoft.com';
}
};代码>
输入密码以继续:
但是。。。这太容易破解了。只要看看你的代码,你网站上的任何人都会知道密码是“tiesto”。告诉我这只是一个测试,这段代码不会投入生产。这只是一个练习。的确这不会投入生产。在生产中,我应该从数据库中存储并请求密码。只有在您尝试了3次错误后,它才会进入另一个重定向。在第一次或第二次尝试时输入正确的密码仍应有效。建议从第一个if
内部返回不会有任何区别,因为它不会首先进入另一个if
s。我很好奇,如果你是对的,OP为什么会接受我的答案,@James。(我相信你是)好地方。再解释一下为什么这是必要的,这将是一个更好的答案!我没有看到任何onload函数。因此,当页面加载时,passwordValue
将为空,并在按钮单击中使用相同的值。我将下面的代码移到了onclick,以便在单击按钮时捕获并验证输入值。它不起作用。即使我把它移到那里,同样的问题也会发生。实际上,原始代码是这样的…我测试过,它在Chrome和Edge中工作(在IE 11中不工作,因为它抱怨()=>
(语法错误)。请从开发者控制台验证错误消息是什么以及密码值
字段的值。
if (password === passwordValue) {
return window.location.href = 'http://maariv.co.il';
}