PHP Ajax-如何调节模式对话框是否弹出?

时间:2018-12-28 05:06:47

标签: javascript php jquery mysql ajax

如果页面现在将加载模式,我想做一个条件吗?到目前为止,我有此按钮,它将提交给home.php,这将触发模式。但是问题是我需要刷新页面,然后弹出模态。

现在我需要的是在不刷新页面的情况下自动显示模式,因此条件将执行此操作或自动刷新

P.S我已经有了解决方法,但是页面每3秒钟刷新一次,我的PC停滞了,所以这不是一种实用的方法。

这是我的按钮,它将触发onclick.php上的模式

$.confirm({
type: 'red',
theme: 'material',
title: 'Are you sure you want to make an announcement?',
content:'<strong>Announcement Info:</strong> ' + addInfo,
buttons: {
    Yes: {
        btnClass: 'btn-green',
        action: function () {
            $.ajax({
                type: "POST",
                url: "announcement.php",
                data: {
                    addInfo: addInfo
                },
                dataType: "text",
                success: function (data) {


//THIS TRIGGER THE MODAL
window.location.replace("change-password.php");
                },
                error: function (err) {
                    console.log(err);

                }

            });

        }

    }

这是我的触发模式,它位于home.php

因此,当按下该按钮时,此页面将自动加载模式。 就像我之前说的,这是我的解决方案,但是页面每3秒刷新一次,所以不是一个好主意。

    <script>

THIS REFRESHED THE PAGE EVERY 3 SECONDS BUT IT IS NOT A PRACTICAL CODE

// function timedRefresh(timeoutPeriod) {
//   setTimeout("location.reload(false);",timeoutPeriod);
// }

// window.onload = timedRefresh(3000);

function timedRefreshIfNoCookie(timeoutPeriod, cookieName) {
    var cookies = document.cookie;
    if (cookies.indexOf(' '+cookieName+'=1;') < 0) {
        document.cookie = cookieName+'=1';
        setTimeout(function () {
            location.reload();
        }, timeoutPeriod);
    }
}
window.onload = function() {
    timedRefreshIfNoCookie(5000, 'refreshed');

}   

//THIS WILL TRIGGER THE MODAL 
 document.getElementById('myModal').style.display='block';

</script>

1 个答案:

答案 0 :(得分:0)

sessionStoragelocalStoragecookie中存储临时数据。然后执行条件。

if(yourCondition){

   window.sessionStorage("showModel","true");

}

//reload page

location.reload();

每次加载页面时,请按如下所示在</body>之前调用弹出功能。

if(window.sessionStorage("showModel") == "true"){

    $("#yourModelId").modal('show');

    //reset value to false to prevent continuous model popup 
    window.sessionStorage("showModel","false");

}