Javscript的open函数打开的窗口为什么关闭不了?参数也不能返回!

lisbjing 2003-09-15 02:43:47
在default.asp中有一个文本域是限制输入的,旁边有一按钮,当点击按钮时用javascript的open函数弹出一个窗口,装载bigclass.asp,去选择大类,点击大类,装载small.asp选择小类,点击小类,关闭此窗口,并把值返回!
问题:点小类不能关闭此窗口,而是在这个窗口中装载default.asp,为什么?


主要程序片段:

Default.asp

<HTML>
<HEAD>
<SCRIPT language=JavaScript>
function catesel() //选择行业类别
{
var selProdWnd=window.open("bigclass.asp","","width=580,height=350,top=150,left=150,scrollbars=yes,resizable=yes");
if(selProdWnd.opener== null)
selProdWnd.opener = self;
return (false);
}

</script>
</HEAD>
<BODY>
<TABEL>
<TR HEIGHT="25">
<TD width="100"> </TD>
<TD width="249">行业类别:</TD>
<TD width="644">
<INPUT name="prd_bgc_ID" type="hidden" value="">
<INPUT name="prd_smc_ID" type="hidden" value="">
<INPUT disabled name="cat_Name" size=30 value=""><FONT color="#FF6600"> *</FONT>
<INPUT type="button" name="button" onclick="return(catesel())" value="请选择您的类别">
</TD>
</TR>
</TABLE>
</BODY>
</HTML>



bigclass.asp

<%@ codepage ="936" %>
<!--#include file="../../conn/conn2.asp" -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>选择行业类别</title>
<LINK href="../css/style.css" rel=stylesheet type=text/css>
</head>

<%
set rsbig= Server.CreateObject("ADODB.Recordset")
sqlbig="select * from bigclass"
rsbig.open sqlbig,conn,1,1
%>


<CENTER>
<TABLE border="0" width="100%" cellpadding="0" height="47">
<tr>
<td colspan=6><img border="0" src="picture/hangye.gif"></td>
</tr>
<tr><td colspan=6 height=10></td></tr>
<%do while not rsbig.eof%>
<tr height=25>
<td width="5%" height="20" align="center"></td>
<td width="28%" height="20" align="left"><IMG src="picture/dir.gif"><a href="smallclass.asp?bgc_ID=<%=rsbig("bgc_ID")%>"><%=rsbig("bgc_Name")%></a></td>
<%rsbig.movenext%>
<td width="5%" height="20" align="center"></td>
<td width="28%" height="20" align="left"><IMG src="picture/dir.gif"><a href="smallclass.asp?bgc_ID=<%=rsbig("bgc_ID")%>"><%=rsbig("bgc_Name")%></a></td>
<%rsbig.movenext%>
<td width="5%" height="20" align="center"></td>
<td width="28%" height="20" align="left"><IMG src="picture/dir.gif"><a href="smallclass.asp?bgc_ID=<%=rsbig("bgc_ID")%>"><%=rsbig("bgc_Name")%></a></td>
</tr>
<%
rsbig.movenext
loop
%>
</TABLE>
</CENTER>
<%
rsbig.close
set rsbig=nothing
%>
</body>
</html>

smallclass.asp

<%@ codepage ="936" %>
<!--#include file="../../conn/conn2.asp"-->

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>选择行业类别</title>
<LINK href="../css/style.css" rel=stylesheet type=text/css>
</head>

<SCRIPT LANGUAGE="JavaScript">
function retForm(bgc_ID,smc_ID,bgc_Name,smc_Name) '将选择的大、小类编号和名称返回
{
if (!opener) return true;
opener.document.forms[0].prd_bgc_ID.value = bgc_ID;
if (!opener) return true;
opener.document.forms[0].prd_smc_ID.value = smc_ID;
if(opener.document.forms[0].cat_Name)
opener.document.forms[0].cat_Name.value = bgc_Name+ " >> "+ smc_Name;
self.close();
return false;
}
</SCRIPT>

<%
if not isEmpty(request("bgc_ID")) then
bgc_ID=request("bgc_ID")
else
bgc_ID=1
end if
set rsbig= Server.CreateObject("ADODB.Recordset")
sqlbig="select * from bigclass where bgc_ID=" & bgc_ID
rsbig.open sqlbig,conn,1,1

set rssmall=server.createobject("adodb.recordset")
sqlsmall="select * from smallclass where smc_bgc_ID=" & bgc_ID
rssmall.open sqlsmall,conn,1,1
%>


<CENTER>
<TABLE align=center border=0 cellPadding=3 cellSpacing=0 width="100%">
<tr>
<td colspan=6><img border="0" src="picture/hangye.gif"></td>
</tr>
<tr><td colspan=6 height=10></td></tr>
<%do while not rssmall.eof%>
<TR>
<td width="5%" height="20" align="center"></td>
<td width="28%" height="20" align="left"><p style="line-height: 150%"><IMG src="picture/list.gif"><a href="" onclick="return retForm('<%=rsbig("bgc_ID")%>','<%=rssmall("smc_ID")%>','<%=rsbig("bgc_Name")%>','<%=rssmall("smc_Name")%>')"><%=rssmall("smc_Name")%></a></TD>
<%rssmall.movenext%>
<td width="5%" height="20" align="center"></td>
<td width="28%" height="20" align="left"><p style="line-height: 150%"><IMG src="picture/list.gif"><a href="" onclick="return retForm('<%=rsbig("bgc_ID")%>','<%=rssmall("smc_ID")%>','<%=rsbig("bgc_Name")%>','<%=rssmall("smc_Name")%>')"><%=rssmall("smc_Name")%></a></TD>
<%rssmall.movenext%>
<td width="5%" height="20" align="center"></td>
<td width="28%" height="20" align="left"><p style="line-height: 150%"><IMG src="picture/list.gif"><a href="" onclick="return retForm('<%=rsbig("bgc_ID")%>','<%=rssmall("smc_ID")%>','<%=rsbig("bgc_Name")%>','<%=rssmall("smc_Name")%>')"><%=rssmall("smc_Name")%></a></TD>
</TR>
<%
rssmall.movenext
loop
%>
</TABLE>
</CENTER>
<%
rssmall.close
set rssmall=nothing
%>
</body>
</html>
这里哪里错了,为什么选择了小类后,窗口不关闭,而是在这个窗口中加载default.asp?
...全文
195 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lisbjing 2003-09-15
  • 打赏
  • 举报
回复
上面的兄弟不用抱怨,分都给你了。
liuzxit 2003-09-15
  • 打赏
  • 举报
回复
早知道從后面看起﹐還白費神瀏覽了那么長
lisbjing 2003-09-15
  • 打赏
  • 举报
回复
唉,自已搞定了,是smallclass.asp的javascript函数后的注解符号搞错了。
function retForm(bgc_ID,smc_ID,bgc_Name,smc_Name) '将选择的大、小类编号和名称返回

就为:
function retForm(bgc_ID,smc_ID,bgc_Name,smc_Name) //将选择的大、小类编号和名称返回

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧