如何从其他iframe更新iframe?

时间:2014-02-20 04:57:21

标签: javascript php html iframe getelementbyid

我有一个带有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
 }

2 个答案:

答案 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];
}  

请参阅此链接http://jsfiddle.net/mplungjan/WH4ns/