<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<script language="JavaScript">
function doSel(){
document.getElementById("text1").value = showModalDialog("popup.html"); }
</script>
<body>
<input type="text" id="text1" value="">
<input type="button" value="select" onclick="doSel();">
</body>
</html>
popup.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<script language="JavaScript">
function doRet(){
window.returnValue = document.getElementById("sel").value;
close();
}
</script>
<body>
<select id="sel" value="">
<option value="AAAA">AAAA</option>
<option value="BBBB">BBBB</option>
<option value="CCCC">CCCC</option>
<option value="DDDD">DDDD</option>
<option value="EEEE">EEEE</option>
</select>

<br>
<input type="button" value="ok" onclick="doRet();">
</body>
</html>

解决方案 »

  1.   

    好多种方式,1楼的是利用模式窗口的返回值做的
    还可以用js传值,session等等等~~
      

  2.   

    利用JS传值是什么意思?如果利用session,是不是占用服务器的SESSION?有些出租的空间只充许有150个SESSION,这是不是相同的概念?
      

  3.   

    如果是session传值的话,就需要应用动态网页的技术了,
    可以通过cookie,也可能通过对象引用.
    不过最好的方法还是使用div和showModalDialog来实现.
    这样做可以实现弹出窗口的封装性.
    避免与父窗口的强耦合.
      

  4.   

    另外,showMadalDialog有一个很大的优点,
    它是阻塞方式的.
    可以使用调用的程序实现起来更简单.
    不过它最大的问题是只有IE支持.
      

  5.   

    <script language=javascript>
            function openDialogWin()
            {
                var result = window.showModalDialog("ShowMessage.aspx","","dialogHeight:160px; dialogWidth:300px; status:no; help:no; scroll:no");
                //window.show('ShowMessage.aspx', '','height=300, width=400, top=250, left=250, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no','_blank');
                if(result == "Yes")
                    window.alert("You Clicked Yes!");
                else if(result == "No")
                    window.alert("You Clicked No!");
                //document.writeln(result);
            }
        </script><input type=button value="按钮" name="btn" onclick="openDialogWin()" />            Response.Write("<script language='javascript'>");
                Response.Write("function confirm(){ window.returnValue='Yes';window.close(); }");
                Response.Write("function cancel(){ window.returnValue='No';window.close(); }");
                Response.Write("</script>");
                Response.Write("<div align='center'><input type='button' value='Yes' onclick='confirm()' /><input type='button' value='No' onclick='cancel()' /></div>");
      

  6.   

    在页面添加一个div,列表放到div上,初始设置div的css样式display为none,即隐藏,当点击按钮时,设置div的css样式display为block,即显示出来,当点击div上的列表时通过JavaScript将列表值填充到表单输入框。