Javascript 第二个if-else语句(表示尝试次数)似乎不起作用
尝试次数为Javascript 第二个if-else语句(表示尝试次数)似乎不起作用,javascript,jquery,html,Javascript,Jquery,Html,尝试次数为2时,不会弹出警报。尝试次数变量是否没有增加?我不知道。请帮忙 var attempts = 0; var $code = "youknowme"; $('.go').on('click', function() { if ($('#pass').val() === $code) { window.open("3.html"); } else { alert("wrong code"); attempts = attem
2
时,不会弹出警报。尝试次数
变量是否没有增加?我不知道。请帮忙
var attempts = 0;
var $code = "youknowme";
$('.go').on('click', function() {
if ($('#pass').val() === $code) {
window.open("3.html");
} else {
alert("wrong code");
attempts = attempts + 1;
}
});
if (attempts === 2) {
/*this code not working*/
alert("You have last chance left");
} else if (attempts === 3) {
window.close();
}
这是因为您需要将代码放入click事件中。目前,if语句只检查一次,而这恰好是在您将尝试次数设置为0之后 如果您的代码格式正确,这将使它更容易发现 这就是它应该是什么样子:
var attempts=0;
var $code="youknowme";
$('.go').on('click',function(){
if($('#pass').val()===$code){
window.open("3.html");
}else{
alert("wrong code");
attempts=attempts+1;
}
/* code is now executed each time the click event occurs */
if(attempts===2){
alert("You have last chance left");
}
else if(attempts===3){
window.close();
}
});
您的代码应该在函数中:
var attempts=0;
var $code="youknowme";
$('.go').on('click',function(){
if($('#pass').val()===$code){
window.open("3.html");
}else{
alert("wrong code");
attempts=attempts+1;
}
if(attempts===2){ /*this code not working*/
alert("You have last chance left");
}
else if(attempts===3){
window.close();
}
});
if语句需要在onclick侦听器中。单击时不会执行它们。if语句不在click函数的范围内。 ``` $('.go')。在('click',function()上{ if($('#pass').val()=$代码){ window.open(“3.html”); }否则{ 警报(“错误代码”); 尝试次数=尝试次数+1; }
if (attempts === 2) {
/*this code not working*/
alert("You have last chance left");
} else if (attempts === 3) {
window.close();
}
});
```我可以看到你的html吗?因为当代码执行时,
尝试次数
等于0
。因为你刚刚将它定义为0
。现在我已经正确地格式化了你的代码,你可以看到你只在加载时检查尝试次数===2
。我想你实际上需要把它放在点击
处理程序中。这是真的吗是否进行客户端密码检查?您知道这确实不安全,因为任何用户都可以看到$code值?应该有一个关闭原因“只要代码正确格式化,错误就会很明显”