Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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
在单击确认框中的确认或取消按钮后,如何使用JavaScript或jQuery返回真值或假值?_Javascript_Jquery - Fatal编程技术网

在单击确认框中的确认或取消按钮后,如何使用JavaScript或jQuery返回真值或假值?

在单击确认框中的确认或取消按钮后,如何使用JavaScript或jQuery返回真值或假值?,javascript,jquery,Javascript,Jquery,我目前正在一个项目中工作,如果用户尝试刷新当前页面,他们将收到带有“警告不刷新页面”的确认框,否则您将丢失数据,因此如果他们取消,他将停留在同一页面上,但我的问题是,当他们单击yes(是)时,即当他单击Reload(重新加载)时,应再获取一个警报您单击Reload now(立即重新加载)页面将重新加载,并且数据将丢失,因此如何执行此操作,因为当他单击Reload(重新加载)按钮时,我没有获取任何信息 下面是我写的脚本 <script src="https://code.jquery.com

我目前正在一个项目中工作,如果用户尝试刷新当前页面,他们将收到带有“警告<代码>不刷新页面”的确认框,否则您将丢失数据,因此如果他们取消,他将停留在同一页面上,但我的问题是,当他们单击yes(是)时,即当他单击Reload(重新加载)时,应再获取一个警报
您单击Reload now(立即重新加载)页面将重新加载,并且数据将丢失,因此如何执行此操作,因为当他单击Reload(重新加载)按钮时,我没有获取任何信息

下面是我写的脚本

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
    $(window).on('beforeunload', function(){ 
        return prompt("are you sure want to refresh this page !");

        if(true){
            alert('You will lose data');
        }
        else{
            alert("Ok continue your work");
       }
    });
</script>

$(窗口).on('beforeunload',function(){
返回提示(“是否确实要刷新此页面!”);
如果(真){
警报(“您将丢失数据”);
}
否则{
警惕(“确定继续工作”);
}
});

A
return
语句退出函数,这样return语句之后的所有内容都不会执行

我认为您不需要一个
提示
框,而是一个
确认
框(请参阅)

  • 提示符
    框仅用于用户获取某些内容
  • confirm
    框用于询问用户是否确认了某些内容
var rep=confirm(“您确定要刷新此页面吗!”);
控制台日志(rep);
如果(代表){
警报(“您将丢失数据”);
}
否则{
警惕(“确定继续工作”);

}
我建议您在使用onBeforeLoad事件时不要使用Jquery。它会导致不必要的行为。 香草JS会处理得更好

例如:

window.onbeforeunload = function beforeExit();

function beforeExit(){
return confirm("Are you sure you want to exit?");
}

使用此方法,如果用户试图刷新页面,您的函数将执行。

“您将丢失数据”…应为“丢失”。“松散”是指其他的东西。只是让你的应用看起来更专业的一件小事。还有那个!在“是否确实要刷新此页面!”中,应为?,并且在其前面不应有空格。“are”中的“a”也应该大写(“are”),因为它是句子的开头。如果你不是以英语为母语的人,也许你应该让别人检查一下你的语法和拼写。问题的措辞也缺乏足够的标点符号,难以理解。您正在执行
return prompt()
返回语句之后的任何代码都不会被删除executed@PatrickEvans好的,请告诉我如何解决这个问题,即使我删除了return,但仍然没有得到任何东西。我希望在用户尝试刷新脚本之前我在ScriptLoad中提到的目的时,这应该可以工作。这将只需将我提供给您的代码放入您的
$(窗口)。on('beforeunload',函数(){
刚才我尝试过,无论您提到什么,仍然没有任何确认框或警报直接刷新页面。浏览器可能会阻止“beforeunload”事件中的警报、确认和提示,以避免出现恼人的弹出窗口。这正是我所想的,但没有提供进一步的信息,因此我无法提供比此answe更多的帮助rit不工作,你能给我发送工作代码吗?没有得到预期的输出,我的意思是没有得到警报,请检查你的系统,如果它工作,告诉我我有什么改变do@Anonymous,请尝试使用
控制台.log()
。警报可能会被阻止。