父页面查询方法
function queryData(){
  
    var frm=$name("form1");
     frm.elements["_eosFlowAction"].value="query";
    var frm1 = $name("form2");
     if(frm1==null){             frm.elements["page/length"].value =10;
      }else{
       frm.elements["page/length"].value = frm1.elements["page/length"].value;
                
      }
      if(frm1!=null){
     var length = frm1.elements["page/length"];
      if(!checkPageLength(length)){//检测“每页显示”的值,是否为小于100的正整数
           return false;
      }
  }
   frm.submit();//提交form
} 子页面保存方法
function saveData(frm){         var g = $id("group1");
      if (g.getSelectLength() < 1) {
        alert("<b:message key="MSG_SELECTITEM"/>");
        return;
      }      if( !confirm("<b:message key="BESURETOWHATCHTHISGROUPS"/>") ) { 
         return;
       } else{
       
           
          var action_url = "com.sundata.qrms.rc.groupwatch.GroupWarch.addGroups.biz";
var ajax = new Ajax(action_url);
         ajax.submitForm(frm);
var returnNode =ajax.getResponseXMLDom();
  
        if (returnNode){
       
         if(ajax.getValue("root/data/ret")=="1"){
    alert('<b:message key="l_m_save_success"/>');
    opener.location.reload();
            }
            if(ajax.getValue("root/data/ret")=="0"){
               alert('<b:message key="l_m_save_fail"/>');
            }
           
        }else{
         alert('<b:message key="DBEXCEPTION"/>');
        }
      }
     
      
      window.close();
}

解决方案 »

  1.   

    刷新父页面时不可以跳出Windows自带的重新刷新小窗口  谢了 各位
      

  2.   

    没人帮忙吗?谢谢各位 本人菜鸟一个 刚学 JAVA
      

  3.   

    如果父页面提交过表单,那么用reload()肯定会带出那个浏览器提示窗口的,因为这是重复提交。
    建议合适的做法是,在子页面操作父页面的那个 提交按钮,比如:
    var btnSubmit = document.getElementById("xxxooo"); // 查找该按钮
    btnSubmit.submit(); // 触发提交动作
      

  4.   

    在你的父窗口,写一个函数,比如:
    function reSubmit() {
      var btnSubmit = document.getElementById("xxxooo"); // 查找该按钮
      btnSubmit.submit(); // 触发提交动作
    }提交按钮必须有id,名称跟函数中的必须保持一致:
    <input id="xxxooo" type="submit" value="提交">然后子窗口调用:
    opener.reSubmit();
      

  5.   

    你先试试这个最简单的例子,掌握原理,然后再修改你自己的源程序,否则容易越改越乱。总共两个页面:
    main.html 主页面,带表单提交。
    pop.html 弹出页面,点击按钮时提交主页面并关闭自己。为了演示效果,在程序中对输入框自动填入了随机数,这样你通过看浏览器的地址栏URL变化,就可以知道确实提交了。【main.html】<html>
    <head>
    <script>
    function reSubmit() {
      var form = document.getElementById("xxxooo"); // 查找需要提交的表单
      form.submit(); // 触发提交动作
    }
    </script>
    </head>
    <body onload="document.getElementById('name').value=Math.random()">
    <form id="xxxooo">
      姓名:<input id="name" type="text" name="name" value="123" />
      <br />
      <input type="submit" />
      <br />
      <input type="button" value="popup" onclick="window.open('pop.html');" />
    </body>
    </html>
    【pop.html】<html>
    <head>
    <script>
    function saveData() {
      opener.reSubmit();
      window.close();
    }
    </script>
    </head>
    <body>
    <form>
      关闭窗口并刷新主窗口。
      <input type="button" value="save&quit" onclick="saveData()" />
    </body>
    </html>
    最后需要提醒下,我看你页面的提交似乎用的是 function queryData() 这个函数,那么可能最终你自己的弹出窗口只需要:
    opener.queryData();
    window.close();
      

  6.   

    opener.queryData();
    window.close();
    这个我早就试过了 不行,刷新父页面的时候,父页面会弹出重复刷新对话框!这个问题是eos框架上写的程序,这个是项目优化,先不处理了!谢了
      

  7.   

    两个页面不行的,我想的是传个参数待到第二个页面,然后通过Action调用页面查询方法,点击保存刷新前一个页面的,可是eos框架没有Action这一层,应该是我还不熟悉这个框架
      

  8.   

    我常用的办法就是子页面点击刷新父页面然后到action之后重新请求一下父页面,不就等于是刷新了吗
      

  9.   

    ijingg 嗯  谢了 这个方法 明白,但是eos框架我还正搞不明白,问题解决了 谢了