i 'm使用用户登录的弹出窗口,当用户实际登录时,我如何刷新父(打开器)页面?


I'm using a popup for user login, how do i refresh the parent(openner) page when user actually logs in?

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

登录函数是用PHP编写的。

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

function() { 
    if (<?php echo $is_loggedin ?>) {
          document.location.reload(true);
      }

我在登录功能中使用了图片而不是按钮。此函数驻留在弹出页面。

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

尝试使用:

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

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

<script> window.top.location.reload(); </script>

仅仅使用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();
                }
              }
       })
})

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