模式化窗口问题,求高人解答![window.dialogArguments]

dt891030 2011-06-27 09:02:53
今天做项目遇到个问题遇到个兼容问题,望高人给予解答!

在火狐浏览器中弹出一个子窗口,子页面中是一个分页,点下一页后子页面会刷新,然后window.dialogArguments对象就丢失了
分页控件用的是AspNetPager(这种情况在IE下不会出现)

我需要拿到我点击的值,点击的方法如下:

function returnValue(flag)
{
document.getElementById("rValue").value=flag;
var myObj = window.dialogArguments;
alert(myObj);
myObj.value = flag;
window.close();
}


我到第二页面点击时 弹出undefined


怎么样解决这个问题了,就是火狐下问题.搞了几个小时了头大了,忘高人帮帮忙
...全文
141 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2011-06-28
  • 打赏
  • 举报
回复
window.showModalDialog("xx.aspx")
xx,aspx
<frameset cols="0,*">
<frame src=""/>
<frame src="你现在的页面"/>
</frameset>

返回地面可能就变为
window.parent.dialogArguments;
window.parent.close();
dt891030 2011-06-28
  • 打赏
  • 举报
回复
还是不理解,可以说的详细点么?

父页面是iframe导入的页面,然后再弹出子页面和这个问题有关么?

确实头很大...... 大侠们帮帮忙!
dt891030 2011-06-28
  • 打赏
  • 举报
回复
非常感谢2位大虾级人物{net_lover、liuchaolin}的帮助,问题已经解决 结贴了......

非常感谢
dt891030 2011-06-28
  • 打赏
  • 举报
回复
我在头大中也想出一种办法,不过这种办法比较蠢,用了IE 不支持的window.opener.document 对象
判断下是什么浏览器,然后给window.opener.document.getElementById("隐藏域").value赋值;


function returnValue(flag)
{
document.getElementById("rValue").value=flag;
if (window.ActiveXObject) //IE浏览器
{
var myObj = window.dialogArguments;
//alert(myObj);
myObj.value = flag;
window.close();
}
else{
window.opener.document.getElementById("hid_oilid").value=flag;
window.opener.document.getElementById("txt_oil").value=flag+"号";
//self.close();
window.close();
}
}
孟子E章 2011-06-27
  • 打赏
  • 举报
回复
方法就是放在frameset或者iframe里面。进行一次包装

62,040

社区成员

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

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

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

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