模态框返回值,郁闷中,高手来帮一下

裸奔的蜗牛 2006-11-15 09:27:11
//js如下
//调用模态框并返回值
function OpenWinSelect() {
var str=window.showModalDialog('showDialog.aspx');
if(str!=null) {document.Form1.ReValue.value=str;
window.alter(document.Form1.ReValue.value);//此时返回的值正常
return true;}
else return false;
}

//根椐返回值执行相关的操作
function addnode(){
window.alter(document.Form1.ReValue.value);//此时返回的值始终为初始值0
if(document.Form1.ReValue.value!="whd")
{.... }
else
{....}
}

//页面代码
<body onload="addnode()">
大家帮帮忙,谢谢!!!
//ReValue为一个隐藏控件
...全文
140 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianzhenjing 2006-11-19
  • 打赏
  • 举报
回复
ReValue控件里的值默认是不是0?

原因出在
<body onload="addnode()">
是先于OpenWinSelect()函数执行的

showModalDialog(网址,窗口名称, 窗口类型 ),返值:window.returnValue = "aa";window.close();

如:window.showModalDialog("a.aspx", "newWindowName", "left=0;top=0;statusbar=no;.......")
详细可以查一下msdn

liushui1981 2006-11-19
  • 打赏
  • 举报
回复
没看动楼主想问什么!!
是想showModalDialog这个用法吗????
guileen 2006-11-19
  • 打赏
  • 举报
回复
T_T >_< ~_~
裸奔的蜗牛 2006-11-15
  • 打赏
  • 举报
回复
在JS中怎么声明静态的全局变量
job_2006 2006-11-15
  • 打赏
  • 举报
回复
主页面的html中:
<tr>
<td>
收件人:    
<input id="btnSelect" type="button" value="从所有机构上选择" runat="server" class="inputButton"/>
<input id="btnFromUserGroup" type="button" value="从自定义组中选择" runat="server" class="inputButton"/>
<input id="btnOpenFriend" type="button" value="好友列表" onclick="popnew('FriendList.aspx','tag','250','324')" class="inputButton"/></td>
</tr>
<tr>
<td>
<input id="txtReciveMsgName" runat="server" type="text" readonly="readonly" style="width: 99%"
name="txtReciveMsgName" /></td>
</tr>
<tr>
<td>
<input id="txtReciveMsgNo" runat="server" type="hidden" name="txtReciveMsgNo" />
</td>
</tr>

弹出页面
:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>我的好友</title>
<link href="Style.css" type="text/css" rel="stylesheet" />
</head>
<body>
<form id="form1" runat="server">
<div>
<table border="0" cellpadding="0" cellspacing="0" width="250">
<tr>
<td>
<asp:DataList ID="dslFriendList" runat="server" width="90%">
<ItemTemplate>
<table width="100%">
<tr>
<td align="center">
<a href="#" onclick="addTag('<%#Eval("msgFriendName") %>','<%#Eval("msgFriendID")%>')"><%#Eval("msgFriendName")%></a>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList></td>
</tr>
<tr>
<td align="Center"><br /><input type="button" value="关闭" onclick="javascript:window.close();" class="inputButton"/></td>
</tr>
</table>
</div>
</form>
<script>
function addTag(tagName,tagID) {
if (opener) {
var getTagObj=opener.document.forms[0].txtReciveMsgName
var getTagObjv=opener.document.forms[0].txtReciveMsgNo
var tags,tagsv
if (getTagObj.value.length>0) {
tags=getTagObj.value.split(",")
//if (getTagObjv.value.length>0) {
// tagsv=getTagObjv.value.split(",")
for (i=0;i<tags.length;i++){
if (tags[i].toLowerCase()==tagName.toLowerCase()) return
}

getTagObj.value+=","+tagName
getTagObjv.value+=","+tagID
}
else{
getTagObj.value+=tagName
getTagObjv.value+=tagID
}
}
}
</script>

</body>
</html>
数据是从数据库取的,你自己改成你的吧

郁闷的话,就改用这一个吧
linwu 2006-11-15
  • 打赏
  • 举报
回复
可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:

test4.htm
===================
<script>
var a = window.showModalDialog("test5.htm")
for(i=0;i<a.length;i++)
alert(a[i])
</script>

test5.htm
===================
<script>
function sendTo()
{
var a=new Array("a","b")
window.returnValue = a
window.close()
}
</script>
<body>
<form>
<input value="返回" type=button onclick="sendTo()">
</form>
裸奔的蜗牛 2006-11-15
  • 打赏
  • 举报
回复
不是,是客户端的
dugupiaoyun 2006-11-15
  • 打赏
  • 举报
回复
ReValue是不是服务器控件哦?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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