在没有alert()的情况下重新加载页面(使用sweetalert代替)

时间:2017-02-27 10:02:39

标签: javascript php jquery sweetalert

我有一个php函数,它在隐藏的iframe中重新加载一个页面,然后在点击输入按钮后完成真正的重定向。

function button_confirm_order_params() {
  $url = "somepagetoreloadinbackground.php";
  $alert = "alert('you will be redirected to ext. page')";
  return "onclick=\"document.all.myFrame.src='$url'; $alert;\"";
}

一切都很好,但我想使用比浏览器警报更漂亮的东西。所以我下载了SweetAlert并将 return 更改为:

 return "id=\"btnShowAlert\" onclick=\"document.all.myFrame.src='$url'; \"";

问题是没有alert(),页面在重定向之前不会被停止。它只是显示sweetalert片刻,然后打开另一页,所以我的" somepagetoreloadinbackground.php"没有加载。有任何处理它的想法吗?

1 个答案:

答案 0 :(得分:0)

如果你查看sweetalert github上给出的例子,似乎有很多选项可以帮助你:http://t4t5.github.io/sweetalert/

标准超时版本:它是您必须添加的计时器属性。

swal({
  title: "some title",
  text: "some message",
  timer: 2000, // timeout in miliseconds
  showConfirmButton: false // show ok button or not
});

而且,虽然它是一个确认而不是一个警报,但它有一个回调函数!如果超时版本不够好,只需将重定向添加到该回调:

swal({
    // add all options you want
},
function(){
    // the actual callback, triggered by clicking the ok button on the confirm.
    document.all.myFrame.src='$url'
});

请务必先阅读您正在使用的图书馆的文档。 :)