各位帮我看看吧,运行A.htm即可看到效果

解决方案 »

  1.   

    B.htm<html>
    <head>
    <script language="javascript">
     var obj = window.dialogArguments;
    function refreshparent()
    {
    //var obj = window.dialogArguments;//刷新后dialogArguments这个传过来的参数不存在了,把它放在函数外面,加载时得到它,一次就够,不用每次去取。
     obj.location.reload();
    }</script>
      

  2.   

    梅花雪大哥说的没错!
    但是有什么办法可以解决吗?
    hhjjhjhj(大头)(想变胡萝卜^^)兄弟的不行
      

  3.   

    我的方法可以的
    测试网页
    http://xx6.9zp.com/a.htm
      

  4.   

    呓!我以前试过定义成全局变量不行的,为什么现在可以?
    奇怪,不过还是非常感谢hhjjhjhj(大头)(想变胡萝卜^^)了
      

  5.   

    我的大体思路是,我是在每次body 的onload事件里刷新父页面,当然这个刷新是有条件的,只有当页面内某一隐藏文本框的值为相应值时,才刷新父页面//得到父页面的引用
    var ParentObj = window.dialogArguments;
    function window_load()
    {
      if(typeof document.all["SaveFinish"] != "undefined" && document.all["SaveFinish"].value == "success"){
        alert("数据保存成功!");
        //刷新父页面
        ParentObj.location.reload();
        document.all["SaveFinish"].value = "";
      } 
    }
    因为我是要在保存完数据后给用户一个提示并且刷新父页面,但是很奇怪,我在第一次保存数据onload的时候可以刷新父页面,但是第二次以后就不行了!
    但是如果我用纯粹的一个按钮来不停的刷新父页面倒可以!
      

  6.   

    To: PPLUNCLE(明年去流浪,谁跟我一起...) 
        不好意思, 我收回我第一次的回复, 那个回复没有经过测试, 我想当然了, 对于非模态框只要主页面reload()即马上关闭, 而对于模态框主页面, 由模态框引起的主页面reload() 确实不会关闭模态框. 不过楼主你的做法当中我也有些不明白之处, 你的模态框里的B.htm你是怎么实现reload() 的呀? 据我所知模态框内是不支持重载的呀, 即使你的模态框用postback也不成呀, 你怎么可能达到多次 load ??
        据我测试在模态框页面里嵌套一个框架网页, 框架网页里加载的子网页虽然不可以reload(), 但是可以 postback,即在模态框里再嵌套一层框架页, 才有可能出现多次loading, 所以我认为你的设计要修改一下:
    B.htm:
    <html>
    <head>
    <script language="javascript">
    //得到父页面的句柄,
    var obj = window.dialogArguments;
    function refreshparent()
    {
       obj.location.reload();
    }</script>
    </head>
    <body>
    <iframe src="C.htm" width="100%" height="100%" frameborder="0"></iframe>
    </body>
    </html>C.htm:
    window.onload = function()
    {
      //if(condition)... //判断你自己加
      alert("数据保存成功!");
      parent.refreshparent();  
    }
      

  7.   

    非常感谢梅花雪大哥,实际上我是在.net中用的模太窗口,情况比较复杂,中午测试一下!
    所以可能还有请教的!