JavaScript确认框,如果点击取消,则不会重新加载页面。

7

如果我点击“确定”,它将跳转到另一个页面,如果我点击“取消”,它将保持当前页面不刷新。感谢您。


1
当然,有很多种方法。 - Johan
1
如果(确认(“ 重新加载?”))location.reload(); - Buch
我的意思是,如果你点击了取消,它就不会重新加载。@Buch - Yanyan
你能教我一种方法吗?@Johan - Yanyan
1
如果你点击取消,确认返回false,location.reload()不会执行。 - Buch
我已经尝试过了,它仍然重新载入当前页面。@Buch - Yanyan
4个回答

5
function reload()
{
    var r=confirm("Do you want to leave page!");
    if (r)
    {
        //write redirection code
        window.location = "http://www.yoururl.com";
    }
    else
   {
        //do nothing
    }
}

当您需要从用户那里进行确认时,请调用此函数......


如果我点击取消,它仍然会重新加载当前页面。 - Yanyan
1
if (r==true) 是多余的。它与 if (r) 的功能相同。 - Spedwards
这是我的代码:function logout(){ var r = confirm("在考试期间退出登录意味着您将获得失败的标记。"); if (r==true){ window.location.href = "failed.php"; return false; } else{ } }然后我有一个按钮<button onclick="return logout()">退出</button> - Yanyan
我同时使用火狐和谷歌浏览器,在所有浏览器中都能正常运作。这是 JavaScript 代码,我认为在任何浏览器中都能良好运行。 - Kuldeep Choudhary
我也在使用Chrome。@Spedwards 当我点击取消时,当前页面将重新加载。 - Yanyan
显示剩余4条评论

2

您可以使用confirm()方法进行此操作,该方法返回true(确认)或false(取消)。

function myFunction(){
    if(confirm("Would you like go to other page?")){
        window.location = "http://yahoo.com";
    }else{
        alert('fine, if not want');
    }
}
myFunction();

更新

演示

更新2

<button onclick="return logout()" >logout</button>
<script>
function logout(){
    if(confirm("Would you like go to other page?")){
        window.location = "failed.php";
    }else{
        //do your stuff on if press cancel          
    }
}
</script>

1
如果我点击取消,它仍然会重新加载当前页面。 - Yanyan
取消后,页面不会重新加载,请查看更新的答案。 - Suman Bogati
当我点击取消时,弹出一个警告框,然后当我在警告框上点击确定时,它重新加载。 - Yanyan
你能否给我一个完整的代码,包括ONCLICK事件。谢谢。 - Yanyan
我提供的代码没问题,要想确切知道发生了什么,你需要展示更多你那边的代码。 - Suman Bogati
显示剩余3条评论

0

你可以尝试做

<script>
function myfunction(){
    if(confirm("The confirm message")){
        youDoTheThingsHere();
        return false;
    }else{
       console.log("I cancelled the dialog!");
       return false;
    }
}
</script>

我不确定你的具体情况和调用确认时涉及的代码,但这对我有用。另一个选择是作为最后的手段使用类似于Bootstrap模态框来触发“确认”模态框。使用Bootstrap模态框,您可以按照自己的喜好进行样式设置...希望我能帮到你!


-1

使用 "return None"

function myFunction(){
   if (confirm("Confirm to reset your content!")){
        location.reload();
   }else{
        return None;
   } 
}


非常感谢您的回答,但是 else 块中的 None 会导致错误。 - ShivaGaire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接