【问题标题】:JS Confirm, false, return, not workingJS 确认,假,返回,不工作
【发布时间】:2010-11-21 18:12:47
【问题描述】:

当前用于确认用户是否要注销的脚本在 Mac 上的 Safari 中无法完全运行。

function log_out()
{
    ht = document.getElementsByTagName("html");
    ht[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";
    if (confirm('Are you sure you want to log out?'))
    {

        return true;
    }
    else
    {
        ht[0].style.filter = "";
                return false;
    }
}

当用户确认他们要注销时,它可以工作,好的,但是当用户单击取消时,他们仍然注销。

有什么想法吗?

提前致谢!

【问题讨论】:

  • 您发布的功能很好。但是它在哪里调用?
  • 在注销链接上调用:<a class="rnavtab" href="?do=logout" onclick="log_out()">Log out</a>

标签: javascript confirm


【解决方案1】:

return 指令放在 log_out 调用前面

<a class="rnavtab" href="?do=logout" onclick="return log_out()">Log out</a>

【讨论】:

    【解决方案2】:

    好的,但是当用户点击取消时, 他们仍然处于注销状态。

    在您发布的评论中看到您的代码后:

    <a class="rnavtab" href="?do=logout" onclick="log_out()">Log out</a>
    

    无论用户是否确认,都会触发?do=logout。尝试使用散列代替:

    <a class="rnavtab" href="#" onclick="log_out()">Log out</a>
    

    您可以稍后像这样重定向用户:

    window.location = '?do=logout';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多