日期:2014-05-17  浏览次数:20862 次

子窗口list中选中的值返回父窗口
其实想实现的是父窗口的第一个文本框填写后,双击第二个文本框弹出子窗口,子窗口的内容是根据父窗口第一个文本框填写的值从数据库提取的相关若干条(这里是用javabean加jstl c:foreach列出来的),点击其中某一条则关闭子窗口并且子窗口选定的值自动填入父窗口的第二个文本框~
现在情况是点击子窗口中某一条后就报script error~
以下是半成品的子窗口代码:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  <title>List Year</title>
  <script>  
  function yearchosen(){  
  var n = document.getElementById(yearlist).
  window.close();  
  window.returnValue=n;  
  }  
  </script>

  </head>
  <body>
  <jsp:useBean id="obj" class="DBConn.Activity.GetOptionList" scope="page"/>
  <%
  obj.getYear();
  if(obj.getYear().isEmpty()){%>
  No year is available.<br> 
  <%
  }
  else{
  %> 
  Please choose the year:<br><br>
  <table id="yearlist">
  <c:forEach var="item" items="${obj.getYear()}"> 
  <tr><a href="#" onclick="yearchosen()">${item}</a></tr> 
  </c:forEach> 
  </table>
</form>
  <%}%>
   
  </body>
</html>
就是这样,喵~

------解决方案--------------------
你用的showModalDialog打开的对话框用window.opener还不行哦,我也不知道,但是我去网上查了下,
解决了,我自己也学到了 
网址给你你自己去看下http://topic.csdn.net/t/20061123/12/5179382.html
我这边也写了个列子 
index.jsp
HTML code

  <script type="text/javascript">
      function showList() {

        window.showModalDialog('productList.jsp',window);
      }
  </script>
  
  </head>
      
  <body>
      
      产品:<input type="text" id="content"/><input type="button" value="选择.." onclick="showList()"/>
      
  </body>