我想让用户点击一个链接,然后有一个javascript弹出窗口与是或否的选择,但如果是重定向到不同的网址,如果没有,然后留在同一页。我尝试了下面的代码,但它把我带到同一页时,选择是或否。
function YNconfirm() {
if (window.confirm('Really go to another page?'))
{
alert("You agree")
window.location.href = (http:///mediclaim_portal/logout2.php');
}
else
{
window.location.href = (this.document);
}};
</script>
then
<a href="\mediclaim_portal/logout2.php" onclick="YNconfirm()">Home</a>
9条答案
按热度按时间h6my8fg21#
那么
3yhwsihp2#
浏览器在运行单击处理程序后导航到链接。
您应该将处理程序更改为
return false
以取消导航,而根本不设置location
。rt4zxlrg3#
如果在onclick事件中运行的代码没有返回false,则会发生href。也就是说,尝试如下操作:
k97glaaz4#
就这么办吧)
mfuanj7w5#
xurqigkl6#
实际上,
window.confirm
根据我们的选择返回一个boolean
。这可能有帮助:How to display a confirmation dialog when clicking an link?
我们可以简单地做到:
vc9ivgsu7#
然后编写jquery脚本,如下所示
7gyucuyw8#
我知道这不是codegolf,但这是我通常使用的解决方案(可读性稍强一些):
虽然“onclick return true”可以工作,但它需要onclick和href标记如何交互的内部知识。我发现我的方法更容易上手(特别是如果你经常在C#,JS,SQL等之间跳转)
zkure5ic9#
最好的方法是这样使用函数的返回值
现在简单地像这样调用这个函数。
现在你不需要用javascript重定向页面了。