我有一个带有LOGIN和REGISTER按钮的iframe,登录按钮在另一个iframe中打开登录页面,在提交登录数据后,第二个iframe被刷新。
但是,我希望能够更新第一个iframe以将我的LOGIN按钮更改为我的LOGOUT按钮。
$ _ SESSION ['userlevel']确实有一个值,当使用F5刷新整个页面时,我的loginmenu.php可正常反映正确的按钮
这是我的索引页面的一部分,它加载了我的LOGIN和REGISTER按钮的代码......
<div class="login">
<iframe class="iframemain" name="iframe-login" id="loginmenu" src="loginmenu.php"></iframe>
</div>
这是我的loginmenu.php ...
<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<link rel="stylesheet" href="0000001.css" type="text/css" />
<title> </title>
</head>
<body class="login">
<?php
$userlevel=$_SESSION['userlevel'];
if ($userlevel=="")
{
?><a href="login.php" target="iframemain"><img id="loginImg" src="gfx/btn.menulogin.png"/></a><img src="gfx/spacer.png" width="2px"/><a href="register.php" target="iframe-body"><img src="gfx/btn.menuregister.png"/></a><?php
}
if ($userlevel<>"")
{
?><a href="logout.php" target="iframemain"><img src="gfx/btn.menulogout.png"/></a><img src="gfx/spacer.png" width="2px"/><a href="register.php" target="iframe-body"><img src="gfx/btn.menuregister.png"/></a><?php
}
?>
</body>
</html>
验证用户名和密码后($ form实际上是“有效”)...这是我未能尝试更新我的loginmenu.php ......
<?php
(validing code here)
if($form=="valid")
{
?>
<script>
element=document.getElementById('loginmenu')
element.src="loginmenu.php";
</script>
<?php
}
(other php functions here)
?>
我也试过这个以查看图像是否会改变,但它也会失败
if($form=="valid")
{
?>
<script>
element=document.getElementById('loginImg')
element.src="gfx/btn.menulogout.png";
</script>
<?php
}
答案 0 :(得分:1)
为您的iframe指定名称,然后您可以在任何地方引用iframe中的窗口对象:
var windowInIframe = top.frame_name;
如果您使用此方法,则需要设置window.location.href
而不是src
才能将新网页加载到iframe。
答案 1 :(得分:0)
试试这个..
var links = [
'javascript:\'<button onclick="parent.twonav(1)">Change 2nd frame</button>\'',
'javascript:\'Hello\''
];
var one, two;
window.onload=function() {
one = document.getElementById('frameone');
two = document.getElementById('frametwo');
}
function onenav(idx) {
one.src=links[idx];
}
function twonav(idx) {
two.src=links[idx];
}