Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 显示警报后如何获取回调刷新函数?_Jquery_Callback_Refresh_Alert - Fatal编程技术网

Jquery 显示警报后如何获取回调刷新函数?

Jquery 显示警报后如何获取回调刷新函数?,jquery,callback,refresh,alert,Jquery,Callback,Refresh,Alert,我正在努力使jquery中的这个简单密码函数能够正常工作。现在,在页面加载时,系统会提示您输入密码以查看页面正文。如果密码不正确,您将收到一个错误警报。这一切都是可行的,但它是死的 我需要的是一个按钮,以“再试一次”的提醒,这只是刷新页面,以便您可以再试一次。我该怎么做?也许有人有一个可行的解决方案 我无法正确使用js fiddle处理此类任务,因为如果pass不正确,您将无法看到代码(因此无法看到我的问题)。所以,我必须将所有代码粘贴到这里。我希望没问题 <!DOCTYPE html P

我正在努力使jquery中的这个简单密码函数能够正常工作。现在,在页面加载时,系统会提示您输入密码以查看页面正文。如果密码不正确,您将收到一个错误警报。这一切都是可行的,但它是死的

我需要的是一个按钮,以“再试一次”的提醒,这只是刷新页面,以便您可以再试一次。我该怎么做?也许有人有一个可行的解决方案

无法正确使用js fiddle处理此类任务,因为如果pass不正确,您将无法看到代码(因此无法看到我的问题)。所以,我必须将所有代码粘贴到这里。我希望没问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>-</title>
</head>
<body style="display:none;color: #000;">
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 
<script type="text/Javascript">
$( document ).ready(function() {
var password
var pass1="123"
password=prompt('Please enter password to view page')
if (password==123)
{ $('body').show(); }
else{
  alert('password incorrect! Try Again!')
}
});
</script> 
This is the page content that was password protected
</body>
</html>

-
$(文档).ready(函数(){
var密码
var pass1=“123”
密码=提示('请输入密码以查看页面')
如果(密码==123)
{$('body').show();}
否则{
警报('密码不正确!请重试!')
}
});
这是受密码保护的页面内容

为什么需要刷新页面?使用循环:

var correct_pass = false;

while (!correct_pass) {
    var pass1 = '123';
    var password = prompt('Please enter password to view page');

    if (password == pass1) {
        $('body').show();
        correct_pass = true;
    } else {
        alert('password incorrect! Try Again!');
    }
}
您可以将其扩展为一个函数,使其功能更强,例如,如果用户键入密码错误,则不会在一行中出现两个弹出窗口:

(function get_password(prev_bad_pass = false) {
    if (prev_bad_pass) {
        var prompt_text = 'Password incorrect! Try Again!';
    } else {
        var prompt_text = 'Please enter password to view page';
    }

    var pass1 = '123';
    var password = prompt(prompt_text);

    if (password == pass1) {
        $('body').show();
    } else {
        get_password(true);   //run the function again
    }
}());

此函数将反复执行,直到键入正确的密码。你当然可以轻松地做这件事:

非常感谢!我开始学习jquery,但从未使用过get_密码(true);太简单了!再次感谢。@DC1这是一个递归函数。他们很有趣!