ID在页面里必须是唯一的啊
而且你这样打开的窗口肯定是一个, 要想打开N个窗口,名字要改下大概改了下,没有测试,你试试
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>無標題文件 </title> 
<script language="javascript"> 
  function openPage(wname){ 
  window.open("te.htm?id=" + wname,wname,"width=400,height=400,left=300,top=100,fullscreen=0,menubar=0,toolbar=0,status=0,resizable=o,scrollbar=1");  
  } 
</script> 
</head> <body> 
客戶名稱: <input type="text" name="provice" id="provice1"> <a href="#" onClick="openPage('provice1')">
客戶名稱: <input type="text" name="provice" id="provice2"> <a href="#" onClick="openPage('provice2')">
客戶名稱: <input type="text" name="provice" id="provice3"> <a href="#" onClick="openPage('provice3')">
...............
</a> 
</body> 
</html> 
te.htm 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>無標題文件 </title> </style> 
<script language="javascript"> 
  function bt_choose(v){ 
  provice=v.parentNode.parentNode.cells[1].innerHTML; 
  //alert(provice);
  var wname = location.href.replace(/^.+id=(.+)$/,'$1');
  window.opener.document.getElementById(wname).value = provice; 
  window.close(); 
  } 
</script> 
</head> <body> 
<table width="349" height="288" border="1"> 
  <tr bgcolor="#6699FF"> 
    <td width="92">代號 </td> 
    <td width="141">名稱 </td> 
    <td width="94">&nbsp; </td> 
  </tr> 
  <tr> 
    <td>1 </td> 
    <td>鄭州 </td> 
    <td> <input type="button" name="bt" value="選擇" onClick="bt_choose(this)"> </td> 
  </tr> 
  <tr> 
    <td>2 </td> 
    <td>洛陽 </td> 
    <td> <input type="button" name="bt" value="選擇" onClick="bt_choose(this)"> </td> 
  </tr> 
  <tr> 
    <td>3 </td> 
    <td>開封 </td> 
    <td> <input type="button" name="bt" value="選擇" onClick="bt_choose(this)"> </td> 
  </tr> 
</table> 
</body> 
</html> 

解决方案 »

  1.   

    你这样用是能用,但是有问题,provice这个能不能不改名字?因为我其它程序后面还要用到的。
      

  2.   

    var wname = location.href.replace(/^.+id=(.+)$/,'$1');
    window.opener.document.getElementById(wname).value = provice;window.opener.document.getElementById("provice1 //这里能不能用provice加变量的形式").value
      

  3.   

    var wname = location.href.replace(/^.+id=(.+)$/,'$1');如果后面跟多个参数就不能这么做了,这样
    var wname = location.search.replace(/^\?/,'').split('&')[0].split('=')[1];
      

  4.   

    var wname = location.href.replace(/^.+id=(.+)$/,'$1');如果后面跟多个参数就不能这么做了,这样
    var wname = location.search.replace(/^\?/,'').split('&')[0].split('=')[1];
      

  5.   

    我提交时,需要返回2个数值 (编号,文本 2个变量)
    provice=v.parentNode.parentNode.cells[1].innerHTML; 
    proviceId=v.parentNode.parentNode.cells[2].innerHTML; -------------
      window.opener.document.getElementById("provice").value = provice; 
    window.opener.document.getElementById("proviceId").value = provice; 
    .... 
      window.close(); 
      } 
    可以用变量 te.htm?id1=" + wname+ &id2=+wname2 
    如何表达?
      

  6.   

    cgisir 给的代码可以用.
    现在问题:
    1.弹出窗口,最终返回的变量需要2个. (返回后,自己后台处理,没关系.)
    2.弹出时 如te.htm?id1= &id2=  如何表示?
    3.如何接收 ?
    provice变量=v.parentNode.parentNode.cells[1].innerHTML; 
    proviceId变量=v.parentNode.parentNode.cells[2].innerHTML;
    谢谢.
      

  7.   

    cgisir 给的代码可以用. 
    现在问题: 
    1.弹出窗口,最终返回的变量需要2个 一个文本框接收. (另外一个id返回后,自己后台处理,没关系.) 
    2.弹出时 如te.htm?id1= &id2=  如何表示? 
    3.如何接收 ? 
    provice=v.parentNode.parentNode.cells[1].innerHTML; 
    proviceId=v.parentNode.parentNode.cells[2].innerHTML; 
    window.opener.document.getElementById("provice变量").value = provice; 
    window.opener.document.getElementById("proviceId变量").value = proviceId; 谢谢. 
      

  8.   

    <script>
    /*
    这里
    location.search = 'te.htm?id1=abc_1&id2=abc_2';
    vals = ['id1=abc_1', 'id2=abc_2'];*/
    var vals = location.search.replace(/^\?/,'').split('&');
    var id1 = vals[0].split('=')[1];
    var id2 = vals[1].split('=')[1];
    </script>
      

  9.   

    可以了,最后.
    请问 ,我得到变量了.在一起 id1,id2
    请问用replace如何得到值的?
    如 http://www.abc.com?id=txt,txtid
    我需要得到txt,txtid
    然后 
    aTxt=txt
    aTxtId=txtid
    如何replace,且数组分割, ?
      

  10.   

    慢慢看.看懂了.呵呵
    id="txt,txtid"
    -----------------
     var vals = location.search.replace(/^\?id=/,'').split(",");
     var id1 = vals[0];
     var id2 = vals[1];
    alert(vals);
    alert(id1);
    alert(id2);