假设父窗口的selected name为:sel子窗口的单选按钮的name为:rad
在子窗口关闭前给selected 赋值:self.opener.sel.value = document.form1.rad.value;
解决方案 »
- 关于.remove() 的安全问题
- 提取带html样式的文本内容!
- 网页设计中点击弹出层后,网页界面变暗淡,并且失效
- 刚学ExtJS,练习完成扫雷游戏,散分
- 谁来讲讲这段javascript代码
- BOSS们帮帮我吧都一星期了!
- **************<textarea>选择部分文本的问题!
- 急问:用js写了个判断函数
- xp中的ie6.0无法浏览带jabascript的网页,请大虾指教。
- 我在页面中用window.location.href='sel.asp'转向一个页面后出现这样的错误:The parmameter is correct.的错误!
- 我把校友录弄坏了,怎么办啊?
- 如何做像CSDN这样,可以拉动frameset的边框,左边的树形控件的宽度也跟着变化?来者有分!!!
我在子窗口中将药品的名称传给了父窗口的文本框中,用于显示,同时也将药品的名称传给了父窗口的selected中,用于再次利用药品的名称从数据库中取出药器的版本号(药品名称可能同时处于多个版本中)
直接赋值就可以啊,如:
<select id="sel1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<input type="button" value="selected" onclick="selectSel('2')">
<script language="JavaScript">
function selectSel(i){
sel1.value = i;
}
</script>
<BODY>
<a href="#" onclick="window.open('son.htm')">open</a>
<input type=text name=nickname>
<select name=sel>
<Option value="灰豆">灰豆
<Option value="灰豆宝宝.net">灰豆宝宝.net
<Option value="灰豆大仙.net">灰豆大仙.net
</select>
</BODY>
</HTML> son.htm<html>
<body>
<SCRIPT LAnGUAGE="JavaScript">
<!--
function submitit(){
var vvalue="";
var vnickname=document.all.nickname;
var parent1=self.opener.document;
var parentsel=parent1.all.sel.options;
if(vnickname[0].checked)vvalue=vnickname[0].value;
if(vnickname[1].checked)vvalue=vnickname[1].value;
parent1.all.nickname.value=vvalue;
//alert(parentsel[0].value);
//alert(vvalue);
for(var i=0;i<parentsel.length;i++){
if(parentsel[i].value==vvalue)parentsel[i].selected=true;
}
}
//-->
</SCRIPT>
灰豆宝宝.net<input type="radio" name="nickname" value="灰豆宝宝.net">
灰豆大仙.net<input type="radio" name="nickname" value="灰豆大仙.net">
<input type=button onclick="submitit()">
</body>
</html>
recipe.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import = "java.io.*" %>
<%@ page import = "java.util.*" %>
<%@ page import = "java.sql.*" %>
<%@ page import = "javax.servlet.*" %>
<%@ page import = "javax.servlet.http.*"%>
<html>
<head>
<title>药品处方查询条件</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="inc/main.CSS" type="text/css">
<script language="javascript">
<!--
function a1()
{
Condif1.style.display="";
Condif2.style.display="none";
}
function a2()
{
Condif1.style.display="none";
Condif2.style.display="";
} function checkdrugname()
{
//alert(event.keyCode);
if (event.keyCode==13)
{
event.keyCode="#0";
var drugbbno=document.form1.drugbbh.value;
var drugname1=document.form1.drugname.value;
var flag=document.form1.selectedid.value;
window.open("returndrugpyno.jsp?drugbbno="+drugbbno+"&drugname1="+drugname1,'register','left=180,top=210,width=400,height=380,status=no,toolbars=no,menubars=no,scrollbars=yes,resize=yes'); }
return true;
}
function checkdrugname1()
{
//alert(event.keyCode);
if (event.keyCode==13)
{
event.keyCode="#0";
var drugname1=document.form1.drugname1.value;
window.open("returndrugpyno1.jsp?drugname1="+drugname1,'register','left=180,top=210,width=400,height=380,status=no,toolbars=no,menubars=no,scrollbars=yes,resize=yes');
}
return true;
} function kb()
{
if(event.keyCode==13)
event.keyCode="#0";
}
//-->
</script>
</head>
<jsp:useBean id="dBbean" scope="page" class="ydw.RecipenameBean" /><body bgcolor="#FFFFFF" text="#000000">
<% String sql = "select * from drugbb";
String sDBDriver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@168.168.1.127:1521:hbzr"; try {
Class.forName(sDBDriver);
}
catch (java.lang.ClassNotFoundException e) {
out.println(e.getMessage());
} try {
if (dBbean.Conn()!=1) {
out.println("数据库链接失败");
}
ResultSet rs = dBbean.getDBResultSet(sql);
%> </select>
<form name="form1" method="post" action="recipelist.jsp" target = "leftFrame" onkeydown="kb()">
<table width="778" border="0" cellspacing="1" cellpadding="3" align="center" background="images/123.gif" >
<tr>
<td width="170" height="73">
<input type="radio" name="selectedid" value="1" onclick="a1()" checked>
按版本
<input type="radio" name="selectedid" value="2" onclick="a2()">
按药品名称 </td>
<td >
<span style="display:"";" id="Condif1">
版本:
<select name="drugbbh">
<% while (rs.next()) {
%>
<option value = "<%=rs.getInt("drugbbh")%>"><%=rs.getString("drugbbmc")%></option>
<% } %>
<% rs.close();%>
</select> 药品名称 :
<input type="text" name="drugname" size="20" onkeydown="checkdrugname()">
</span>
<span style="display:none;" id="Condif2">
药品名称 :
<input type="text" name="drugname1" size="20" onkeydown="checkdrugname1()">
版本:
<select name="drugbbh1">
<%
String sql1 = "select * from drugbb";
ResultSet rs1 = dBbean.getDBResultSet(sql1);
while (rs1.next()) {
%>
<option value = "<%=rs1.getInt("drugbbh")%>"><%=rs1.getString("drugbbmc")%></option>
<% } %>
<% rs1.close();%>
</select> </span>
</td>
<td width="146" height="73">
<input type="image" src="images/find1.gif">
<a href="DefaultNext.jsp" target="_parent"><img src="images/back1.gif" border=0>
</a> </td>
</tr>
</table>
<input type="hidden" name="flag" value="1">
</form>
<%
}
catch (Exception e) {
out.println("Error:"+e);
}
%>
</body>
</html>returndrugpyno1.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import = "java.sql.*"%>
<%
//接受传来的值
String drugnamepono=request.getParameter("drugname1");%>
<jsp:useBean id="dBbean" scope="page" class="ydw.RecipenameBean" /><html>
<head>
<title>
药品名称
</title>
<script language="javascript">
function check(t){
opener.document.form1.drugname1.value=t;
self.close();
}
</script>
</head><jsp:setProperty name="dBbean" property="*" />
<body bgcolor="#ffffff">
<form name="form1" method="post" action="">
<table width="250" border="0" cellspacing="1" cellpadding="3" bordercolor="#6699CC" bgcolor="#6699CC">
<tr bgcolor="#FFFFFF">
<td width="20"> </td>
<td width="215">
<div align="center">药品的名称</div>
</td>
</tr>
<%
//加载数据库驱动程序
String sDBriver = "oracle.jdbc.driver.OracleDriver";
String sql;
try {
Class.forName(sDBriver);
}
catch (Exception ex) {
out.println(ex.getMessage());
} try {
if (dBbean.Conn()!=1) {
out.println("数据库链接失败,请与系统管理员联系");
}
else { sql = "select distinct n.drugid,n.drugtym from drugcfmx c,drugname n where c.drugid=n.drugid";
sql = sql +" and n.drugpyno like '"+drugnamepono+"%'"; out.println(sql);
ResultSet rs = dBbean.getDBResultSet(sql); while (rs.next()) { %>
<tr bgcolor="#FFFFFF">
<td width="20">
<input type="radio" name="radiobutton" value="<%=rs.getString("drugtym")%>" onclick=check("<%=rs.getString("drugtym")%>")>
</td>
<td width="215"><%=rs.getString("drugtym")%></td>
</tr>
<%
}
} }
catch (Exception ex) {
out.println(ex.getMessage());
}
%>
</table>
</form>
</body>
</html>
我现在想将returndrugnamepyno1.jsp中的drugname的值传到recipe.jsp中,并在recipe.jsp中的drugbbh1中,显示药品对应的版本号(有可能是多个版本中都有此药品)
父窗口中的多选下拉框名:selectemp
子窗口中的多选下拉框名:Admins
addjob是父窗口中的一个表单,该表单包含selectemp下拉框
main_form是子窗口的一表单,该表单包含Admins下拉框
在子窗口的关闭按钮的onclick="setValue()"
<SCRIPT LANGUAGE="JavaScript">
function setValue(){
var all=main_form.Admins.options; //得到子窗口下拉框的长度
for(i=0;i<all.length;i++) {
self.opener.addjob.selectemp.options[i].value = document.main_form.Admins.options[i].value; //把子窗口下拉框值传给父窗口的下拉框
}
window.close();
}
</script>
程序运行时,在点击子窗口的关闭按钮是出错,错误如下:
错误:'self.opener.addjob.selectemp.options'为空或不是对象
代码:0
我不知道错在那,请大家帮忙!很急!!!
谢谢!
问题解决那,原来父窗口的下拉框没有<option>
把函数写在父窗口中,如下:
<SCRIPT LANGUAGE="JavaScript">
function setValue(na){
var s_all = na.Admins.options;
var s_value = null;
var s_text = null;
for(i=0;i<s_all.length;i++) {
s_value = na.Admins.options[i].value;
s_text = na.Admins.options[i].text;
//opener.document.forms[0].treat_emp.options[i].text = document.main_form.Admins.options[i].value;
document.addjob.treat_emp.options[i]=new Option(s_text,s_value);
}
}
</script>
就行了!