父页面index.jsp包含iframe登录页面login.jsp。index.jsp页面有div,未登录前显示“请登录”,登录后显示“欢迎××登录”。要怎样才能实现这样的效果?也就是iframe刷新父页面的局部对象

解决方案 »

  1.   

    parent.document.getElementById(div的ID).innerText="欢迎××登录";
      

  2.   

    业务逻辑是这样的,这里的“××”是login.jsp页面登录成功后记录的session值,在index.jsp页面是取session值,登录成功后login.jsp跳转到login_1.jsp页面后,这个session值没有改变,主要想刷新使这个session变化的。
      

  3.   

    简化问题:怎样用js刷新iframe父页面的div
      

  4.   


    parent.document.getElementById("div的ID").innerHTML="欢迎××登录";
      

  5.   

    var username= "<%=Session["UserName"] %>";
    parent.document.getElementById("div的ID").innerHTML="欢迎" + username + "登录";
      

  6.   

    呵呵var username= " <%=Session["UserName"] %>"; 
    parent.document.getElementById("div的ID").innerHTML="欢迎" + username + "登录";
      

  7.   


    单纯的string使用innerText也可以
      

  8.   

    给你父页面的div重新赋值就可以了。如果div的内容是通过ajax方式填充的,只要重新执行那个方法就OK乐
      

  9.   

    这个问题昨天下午已经得到解决,今天早上看见这么多回复,心里还是很感激大家的,现在对这个问题进行总结:
    1、开始想着既然父页面全部刷新可以达到效果,现在只要div刷新一定也能达到效果,所以就这样解决
    window.opener.getElementById("login").reload();
    但是这样的局部div刷新是不能获取刷新后的session值的。
    2、然后1 楼 lihui_shine的回复给我启发:
    index.jsp页面包含iframe的login.jsp,登录成功后会跳转到login_1.jsp,在此过程中可以对父页面需要改变的div这样处理:
    String userName = (String)session.getAttribute("username");
    parent.document.getElementById("login").innerHTML = "欢迎"+userName+"登录";
    哈哈,问题就这样解决了,谢谢大家!!!