У меня есть эти коды для выхода из системы. И это работает со стандартным окном подтверждения, но не с Sweet alert 2. Может кто-нибудь сказать мне, wy? Спасибо. Первый код — это форма страницы с именем 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;
}
?>
Я полагаю, что это нужно для того, чтобы отправить выход без всплывающего сообщения.
Чтобы получить желаемый результат, измените тип кнопки входа на «кнопку» с «отправить».
Передайте обратный вызов, чтобы проверить нажатую кнопку, если подтверждение было нажатием. идти вперед, чтобы отправить форму
<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
}
})
})
Других решений пока нет …