单击甜蜜警报上的确定按钮后如何重定向页面?

18 javascript jquery sweetalert

我能够在页面刷新后显示甜蜜的警报,但是我必须单击"确定"按钮,我将获得甜蜜警报以重定向页面.请帮助我.

<?php
    echo '<script type="text/javascript">';
    echo 'setTimeout(function () { swal("WOW!","Message!","success");';
    echo '}, 1000);'
    echo 'window.location.href = "index.php";';
    echo '</script>';
?>
Run Code Online (Sandbox Code Playgroud)

Ale*_*iro 30

刚放在.then(功能之前.我们并不需要使用定时器功能.例如:

swal({
    title: "Wow!",
    text: "Message!",
    type: "success"
}).then(function() {
    window.location = "redirectURL";
});
Run Code Online (Sandbox Code Playgroud)

.then功能用于等待用户读取模态窗口的信息,并通过单击一个按钮决定做出哪个决定.例如,YesNo.

点击后,Swich Alert可以将用户重定向到另一个屏幕,调用另一个Sweet Alert模式窗口,其中包含新的和随后的问题,转到外部链接等.

同样,我们不必使用计时器,因为控制用户操作要好得多.用户可以等待永恒或采取行动作为Thanos的手指按扣.

随着使用.then,代码变得更短,干净和优雅.;)

  • 未捕获的类型错误:无法读取未定义的属性“then” (2认同)

Bar*_*mar 23

要指定回调函数,必须使用对象作为第一个参数,并使用回调函数作为第二个参数.

echo '<script>
    setTimeout(function() {
        swal({
            title: "Wow!",
            text: "Message!",
            type: "success"
        }, function() {
            window.location = "redirectURL";
        });
    }, 1000);
</script>';
Run Code Online (Sandbox Code Playgroud)


Ped*_*ito 8

setTimeout(function () { 
swal({
  title: "Wow!",
  text: "Message!",
  type: "success",
  confirmButtonText: "OK"
},
function(isConfirm){
  if (isConfirm) {
    window.location.href = "//stackoverflow.com";
  }
}); }, 1000);
Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert-dev.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css">
Run Code Online (Sandbox Code Playgroud)


或者您可以使用内置函数timer,即:

swal({
  title: "Success!",
  text: "Redirecting in 2 seconds.",
  type: "success",
  timer: 2000,
  showConfirmButton: false
}, function(){
      window.location.href = "//stackoverflow.com";
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert-dev.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css">
Run Code Online (Sandbox Code Playgroud)


小智 5

我无法使用任何swal(sweatAlert)默认回调函数,所以我强制使用jquery,得到Ok按钮类检查chrome中的元素,如下所示:

<script>    
          sweetAlert({
                title:'Warning!',
                text: 'Invalid user or password!',
                type:'warning'
          },function(isConfirm){
                alert('ok');
          });
          $('.swal2-confirm').click(function(){
                window.location.href = 'index.php';
          });
</script>
Run Code Online (Sandbox Code Playgroud)

函数中的"确定"警报(isConfirm)只是一个测试,看它是否会进入此函数,如果是这样我应该能够从那里重定向,但我不是......

因此我使用jQuery来确定是否通过获取类别来点击swal按钮"OK":".sqwal2-confirm"然后我可以重定向成功...

希望这能帮到你们所有人!

PS:我使用php echo来运行脚本,我不必离开php来运行它,只需使用单引号就可以了!


小智 5

最佳和简单的解决方案,我们还可以添加更多事件!

swal({ title: "WOW!",
 text: "Message!",
 type: "success"}).then(okay => {
   if (okay) {
    window.location.href = "URL";
  }
});
Run Code Online (Sandbox Code Playgroud)


小智 5

如果有人需要帮助,此代码正在运行!

swal({
          title: 'Request Delivered',
          text: 'You can continue with your search.',
          type: 'success'
        }).then(function() {
            window.location.href = "index2.php";
        })
Run Code Online (Sandbox Code Playgroud)