该函数是用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();
}
}
})
})
此函数将在弹出窗口关闭时调用