繁体   English   中英

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

[英]How to return true or false values using JavaScript or jQuery after click on confirm or cancel button from confirm box?

我目前在一个项目上工作,如果用户尝试刷新当前页面,他们将收到带有警告的提示框,请Don't refresh page or else you will lose data因此如果他们取消,则他将停留在同一页面上,但是我的问题是当他们单击“是”即“重新加载”时,他将单击“重新加载”,另外一个警报you clicked reload now page will reload and data will loss ,所以该怎么做,因为当他单击“重新加载”按钮时我什么也没得到。

下面我写了剧本。

<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>

return语句退出一个函数,因此不会执行return语句之后的所有操作

我认为您不需要prompt框,而是confirm框(请参阅此处 )。

  • prompt框仅用于用户获取某些东西
  • confirm框用于询问用户是否确认了某些内容

 var rep = confirm("are you sure want to refresh this page !"); console.log(rep); if(rep){ alert('You will lose data'); } else{ alert("Ok continue your work"); } 

我建议您在使用onBeforeLoad事件时不要使用Jquery。 它导致不良行为。 Vanilla JS会更好地处理它。

例:

window.onbeforeunload = function beforeExit();

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM