JS подтверждает, ложь, возврат, не работает

StackOverflow https://stackoverflow.com/questions/4239409

  •  26-09-2019
  •  | 
  •  

Вопрос

Этот текущий элемент скрипта для подтверждения того, хочет ли пользователь выйти в систему, не полностью работает в Safari на Mac.

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

Он работает, когда пользователь подтвердит, что они хотят выйти из системы, ok, но когда пользователь нажимает отмена, они все еще вытесны.

Есть идеи?

Заранее спасибо!

Это было полезно?

Решение

Поставить вернуть Инструкция перед вызовом log_out

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

Другие советы

ОК, но когда пользователь нажимает отмена, они все еще вытесны.

После просмотра вашего кода в комментарии вы разместили:

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

То ?do=logout запускается IRPECT, будь то пользователь подтверждает или нет. Попробуйте надеть хеш вместо этого:

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

Вы можете позже на перенаправлении пользователю так:

window.location = '?do=logout';
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top