很容易,我现在给你个思路:
预先做好一个层,也就是你说的对话框B,(也可以通过js动态创建),里面的人名,按钮之类的全做好,将这个层的display属性设为none (隐藏状态) style="display:none".
当点击文本框时,通过js把预先做好那个层的display属性改成block(显示状态),当选择对话框中的人名时,(人名用单选按钮),用js获取选择的值,动态加到文本框中,同时修改对话框B的display属性为none,
点击取消按钮直接修改对话框B的display属性为none!!
预先做好一个层,也就是你说的对话框B,(也可以通过js动态创建),里面的人名,按钮之类的全做好,将这个层的display属性设为none (隐藏状态) style="display:none".
当点击文本框时,通过js把预先做好那个层的display属性改成block(显示状态),当选择对话框中的人名时,(人名用单选按钮),用js获取选择的值,动态加到文本框中,同时修改对话框B的display属性为none,
点击取消按钮直接修改对话框B的display属性为none!!
===== test.jsp页:(父窗口)=======<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=gbk"%>
<html>
<head>
<title>test</title>
<SCRIPT language="JavaScript">
function winOpen(){ window.showModalDialog( 'tc.jsp' );
}
</SCRIPT>
<body>
<table align="left" border="0" cellpadding="2" cellspacing="0">
<tr>
<td >aa >></td>
<td>
<%
String aaa="";
if(request.getParameter("tc_t1")!=null)
{
aaa=request.getParameter("tc_t1");
}
%>
<INPUT type="text" id="aj_whcd" name="aj_whcd" value="<%=aaa%>" kind="text" showInput="false" fieldname="INSERT/aj_whcd" must="false" maxlength="128" onfocus="winOpen()" >
</td>
</tr>
</table>
</body>
</html>
==========tc.jsp代码如下: (弹出的对话框)==========<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=gbk"%>
<html>
<head>
<title>tc.jsp</title>
</head>
<body>
<form id="fo1" name="fo1" action="test.jsp" method="post" >
<table align="left" border="0" cellpadding="2" cellspacing="0">
<tr>
<td>
<input type="text" id="tc_t1" name="tc_t1" value="ok">
</td>
<td>
<INPUT type="submit" id="button_ok" name="button_ok" value="提交" onclick="self.close()">
</td>
</tr>
</table>
</form>
</body>
</html>
望大家帮忙看下,怎么样能点击 tc.jsp中的“提交”后,把值返回到最初打开的test.jsp中,而不是又新弹出一个test.jsp页在线等,谢谢大家
}<INPUT type="submit" id="button_ok" name="button_ok" value="提交" onclick="returnValue=tc_t1.value;self.close()">