1

弹出功能是用 JQuery 编写的。它被放置在父页面上。当我单击父页面上的登录按钮时,将弹出一个窗口,要求输入用户名和密码。当用户实际登录时,只要用户关闭窗口,我就想刷新父页面。如果用户没有登录,他只是打开弹出窗口并关闭,我希望父页面保持原样(不要刷新)。

登录功能是用PHP编写的。

这是我要修改的示例代码,非常感谢。

function() { 
    if (<?php echo $is_loggedin ?>) {

          document.location.reload(true);

      }

我使用图片而不是按钮进行登录功能。此功能驻留在弹出页面上。

$(function(){

        $('#login_onclick').click(function(){
            $('#login_form').submit();
        });

    });
4

3 回答 3

1

尝试使用:

window.opener.location.reload();

并将其绑定到子窗口的登录提交。

因此,使用 jQuery,在子窗口中,尝试:

$(function(){
    $('#login_onclick').click(function(){
        $('#login_form').submit();
        window.opener.location.reload(); // Sorry for the mongrel JS/jQuery mix.
    });
});

关于开瓶器的更多信息:

https://developer.mozilla.org/en-US/docs/DOM/window.opener

于 2013-05-12T20:28:39.320 回答
0

仅使用 JavaScript 并不能解决问题。我试过了..感谢您的所有投入。

我最终通过在 JQuery 中使用 AJAX 方法让它工作。如果我可以改进我的方法,请告诉我。再次感谢。

编写另一个登录 ajax 调用:

function user_settings(){

       $.ajax({
              async: false,
              dataType: 'json',
              type:'post',
              url: 'validation/login',

              success: function (j) {

                login = j.ok;
                if (login){
                location.reload();
                }
              }
       })
})

当弹出窗口关闭时将调用此函数。

于 2013-05-17T15:07:55.807 回答
0

在登录弹出页面上使用此脚本(在登录 'susses' 内)

<script> window.top.location.reload(); </script>
于 2013-05-13T05:59:25.373 回答