请问用showModalDialog 打开的新窗口,怎样传值回父窗口?

bluefish922 2002-09-17 02:38:05
如题,比如子窗口为1.ASPX,控件为tboxqty,父窗口的控件为tbox1,我需要把tboxqty的值返回到tbox1上,然后关闭子窗口,怎么做?
...全文
56 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2002-09-25
  • 打赏
  • 举报
回复
http://www.csdn.net/Develop/read_article.asp?id=15113
yaocf 2002-09-25
  • 打赏
  • 举报
回复
<INPUT TYPE="button" VALUE="创建模态对话框" onclick="fnOpenModal()"> <br><br> <INPUT TYPE="button" VALUE="创建非模态对话框" onclick="fnOpenModeless()">
<script language="javascript">
<!-- var a = new Array; a[0]="first"; a[1]="second"; a[2]="third";
function fnOpenModal()
{ window.showModalDialog("callee.htm",a) }
function fnOpenModeless()
{ window.showModelessDialog("callee.htm",a) }
// --> </script>

然后在callee.htm页面中输入以下代码:
<SCRIPT LANGUAGE="JavaScript">
<!-- a = dialogArguments; alert(a); a[0] = "fourth"; // -->
</SCRIPT>

bluefish922 2002-09-19
  • 打赏
  • 举报
回复
为什么在子窗口出发按钮事件会打开一个新的窗口,而此时指已经传回去了,就把按钮的事件重复操作了两次,是什么原因?
meizz 2002-09-17
  • 打赏
  • 举报
回复
在主页面里:
<script language=javascript>
var msg=showModalDialog('1.aspx', '','dialogWidth:360px;dialogheight:120px;status:no;help:no');
if ((msg)&&(msg.length!=0)){alert("传回来的值: " + msg);}
</script>

在1.aspx里:
<body onbeforeunload="window.returnValue =document.all.tboxqty.value">
<input type=text name=tboxqty>
<input type=button value=close onclick="window.close()">
bluefish922 2002-09-17
  • 打赏
  • 举报
回复
错了,那个代码不是子窗口里的代码,原理是一样的
bluefish922 2002-09-17
  • 打赏
  • 举报
回复
你的代码我用不上呀,因为在ASP.NET里面不能这样写呀,我只能用btzxsel.Attributes("onClick") = "javascript:return OpenDialog();"来执行脚本,但是每次执行都新开了一个窗口,不知道怎么回事
方工 2002-09-17
  • 打赏
  • 举报
回复
test.html
<HTML><BODY>
<input type="text" id="txt" size=20>
<script>
x = showModalDialog("testnew.html");
txt.value = x;
</script>
</BODY></HTML>

testnew.html

<HTML><BODY>
<input type="text" name="dlgtxt">
<button onclick="doSomething()">do somthing</button>
<script>
function doSomething(){
returnValue = dlgtxt.value;
close();
}
</script>
</BODY></HTML>
bluefish922 2002-09-17
  • 打赏
  • 举报
回复
中间那个参数是否写父窗口的控件
('1.aspx',document.Form1.all.tbox1.value,'dialogWidth:360px;dialogheight:120px;status:no;help:no');
然后在1.aspx里:
window.returnValue = window.document.all.tboxqty.value;
window.close();

但是我的父窗口的控件没有接收到值,而且子窗口也关闭不了,这是为什么?
meizz 2002-09-17
  • 打赏
  • 举报
回复
举个例子:

<script>
var msg=showModalDialog('1.aspx', '','dialogWidth:360px;dialogheight:120px;status:no;help:no');
if ((msg)&&(msg.length!=0)){alert("传回来的值: " + msg);}
</script>

在1.aspx里:
<body onbeforeunload="window.returnValue = 'abcdefg'">

87,910

社区成员

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

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