Переадресация страницы после нажатия OK с помощью Sweetalert
Я пытался перенаправить, но это не работает. Кто-нибудь может мне помочь?
if(isset($_POST['submit'])){
if(send_report($_POST['id_truck'], $_GET['id'])){
echo '<script type="text/javascript">';
echo 'setTimeout(function () { swal("Success!","data successfully added","success");';
echo '}, 200); window.location.href = 'report.php' </script>';
} else {
echo '<script type="text/javascript">';
echo 'setTimeout(function () { swal("failed!","Something wrong","warning");';
echo '}, 200), ;</script>';
}
}
1 ответ
Вы используете одинарные кавычки в строке, заключенной в одинарные кавычки, избегайте их:
echo '}, 200); window.location.href = \'report.php\' </script>';
Редактировать:
Теперь, когда ваша страница перенаправляется, ваш подсластитель будет работать, но вы не сможете его увидеть.
swal()
возвращает Promise, который будет решен, когда вы нажмете кнопку OK в Sweetalert, и поэтому нам придется ждать, пока он перенаправит страницу после этого:
echo '<script type="text/javascript">';
echo 'setTimeout(function () {';
echo 'swal("Success!","data successfully added","success").then( function(val) {';
echo 'if (val == true) window.location.href = \'report.php\';';
echo '});';
echo '}, 200); </script>';