Как использовать Sweet alert 2 с формой выхода? - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть эти коды для выхода. И это работает со стандартным окном подтверждения, но не со Sweet alert 2. Может кто-нибудь сказать мне, вай? Спасибо. Первый код - это форма страницы с именем dropzone.php. Сладкий код предупреждения также находится в этом файле. Тогда у меня есть отдельный файл с именем logout.php.

    <form name="logoutform" method="post" action="logout.php" id="logoutform">
    <input type="hidden" name="form_name" value="logoutform">
    <button class="logoutform_button" type="submit" name="logout" value="Logga ut" id="logout"/></button>
</form>


//This works:
<script>
$(function(){
    $('#logout').click(function(){
        if(confirm('Are you sure to logout')) {
        return true;
        }

        return false;
        });
    });
</script>

//This do not work:
<script>
    $("#logout").on("click", function() {
        swal({
        title: 'Logga ut?',
        type: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        confirmButtonText: 'OK'
    })  
    })  
</script>


//This is the code i have in the logout.php file:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['form_name'] == 'logoutform')
{
if (session_id() == "")
{
    session_start();
}

unset($_SESSION['password']);
header('Location: dropzone.php');
exit;
}  
?>

1 Ответ

0 голосов
/ 04 ноября 2018

Я полагаю, что для продолжения необходимо выйти из системы, не нажимая на подсластитель. Чтобы получить желаемый результат, измените тип кнопки входа на «кнопку» с «отправить». Передайте обратный вызов, чтобы проверить нажатую кнопку, если подтверждение было нажатием. идти вперед, чтобы отправить форму

<button class="logoutform_button" type="button" name="logout" value="Logga ut" id="logout"/></button>
<script>
$("#logout").on("click", function() {
    swal({
    title: 'Logga ut?',
    type: 'warning',
    showCancelButton: true,
    confirmButtonColor: '#3085d6',
    cancelButtonColor: '#d33',
    confirmButtonText: 'OK',
    closeOnConfirm: true,
    closeOnCancel: true
   }).then((result) => { 
      if (result.value===true) { 
         $('#logoutform').submit() // this submits the form 
      } 
   }) 
})   

...