Сладкое оповещение подтверждает, что удаление в приложении PHP не работает

В моем PHP-приложении он обычно удаляется при нажатии на ссылку/кнопку

но когда я реализую сладкое оповещение, оно не работает или просто возвращает false. Я использую sweetalert2

Вот мой код кнопки

<a href="http://localhost/app/pages-role-list.php?delete_role=18" class="btn btn-sm btn-danger delete-confirm">delete</a>

моя сладкая инициация

$('.delete-confirm').on('click', function (event) {
    event.preventDefault();
    const url = $(this).attr('href');


    Swal.fire({
        title: 'Are you sure?',
        text: "You won't be able to revert this!",
        icon: 'question',
        showCancelButton: true,
        confirmButtonText: 'Delete'

    },function(isConfirm){
        if (isConfirm) {
            return true;
            window.location.href = url;
        }else{
            return false;
        }
    })
});

person Firefog    schedule 25.08.2020    source источник
comment
Я вижу, вы отредактировали свой вопрос. Какое именно поведение сейчас. Когда вы нажимаете на тег, всплывающее окно открывается? Если да, то что происходит, когда вы нажимаете кнопку «Удалить»?   -  person Jordan    schedule 25.08.2020
comment
В вашем редактировании вы возвращаете true перед перенаправлением, поэтому перенаправление никогда не выполняется.   -  person Jordan    schedule 25.08.2020


Ответы (1)


Обратный вызов не использовал правильный синтаксис.

Вот рабочий код:

$('.delete-confirm').on('click', function (event) {
            event.preventDefault();
            const url = $(this).attr('href');

            Swal.fire({
                title: 'Are you sure?',
                text: "You won't be able to revert this!",
                icon: 'question',
                showCancelButton: true,
                confirmButtonText: 'Delete'
                
            }).then((result) => {
                if (result.value) {
                    window.location.href = url;
                } else if (result.dismiss === Swal.DismissReason.cancel) {
                    event.preventDefault();
                }
            })
        });
person Jordan    schedule 25.08.2020
comment
Я обновил свой код на самом деле href имеет значение переменной 18 в delete_role=18 поэтому я не могу использовать прямую ссылку, обновил свой код - person Firefog; 25.08.2020
comment
Вы возвращаете true перед перенаправлением :) - person Jordan; 25.08.2020
comment
Код для перенаправления никогда не запускается. Поменяйте эти два местами return true; и window.location.href = url; - person Jordan; 25.08.2020
comment
Что именно происходит? Он действительно перенаправляет или нет? Срабатывает ли всплывающее окно сладкого предупреждения изначально? - person Jordan; 25.08.2020
comment
сладкое оповещение всплывает, но не перенаправляется после нажатия кнопки «Удалить» - person Firefog; 25.08.2020
comment
Похоже, что обратные вызовы sweetalerts запускаются только при подтверждении. Вам не нужно проверять isConfirm - person Jordan; 25.08.2020
comment
Я решил это, и теперь он работает. Я отредактировал ваш ответ и добавил свой код - person Firefog; 25.08.2020
comment
Отлично, так что это был синтаксис обратного вызова. Приятно знать, что я был на правильном пути! - person Jordan; 25.08.2020