var sjcorp='1002' 
var url='lzcx/deptdocTree.jsp?sjcorp='+sjcorp;  
  encodeURI(url);      
window.open(url , ' ', 'height=350,width=500,left=250,top=180,resizable=no,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no ');   
在新打开的窗口,sjcorp是null.  
请问如何向这个新窗体传参数?? 
或者说子窗体如何获得父窗体的数值

解决方案 »

  1.   

    客户端用 window.location.href 获取地址 然后截取
      

  2.   


    test.html<html>
    <script> 
    function openWin() 

    var name = "zhangsan";
    var url = 'testb.html?name='+name;
        window.open(url);

    </script> 
    <input type="text" id="times" /> 
    <input type="button" name="ab"  value="open" onclick="openWin()"/> 
    </html>testb.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
    <script>
    window.onload = function(){
    var myname = GetArgs(window.location.href,"name");
    alert("参数为"+myname);
    }
    function GetArgs(params,paramName){
    var argsIndex = params.indexOf("?");
    var arg = params.substring(argsIndex+1);
    args = arg.split("&");
    var valArg = "";
    for(var i =0;i<args.length;i++){
    str = args[i];
    var arg = str.split("="); if(arg.length<=1) continue;
    if(arg[0] == paramName){
    valArg = arg[1];
    }
    }
    return valArg;
    }</script>
     </HEAD> <BODY>
      
     </BODY>
    </HTML>
      

  3.   

    jsp
    在js里这样写也行
    var arg = "${param.sjcorp}";
    这是el表达式
      

  4.   


    var page="http://localhost:8080/login.action?name=hello&password=world";
    var mypage = window.open(page,'mypage','address=0,resizable=0,toolbar=0,location=0,status=0,menubar=0,fullscreen=0');window.open的第二个参数是打开窗体的名称。接收:var name = '<%= request.getParameter("name") %>';
    var password = '<%=request.getParameter("password")%>'