弹出窗口返回不了值的问题。。。分数不够可以在加两百分
弹出的页面代码:
function openry()
{
var someValue=window.showModalDialog( "../Zuzhijiegou/Jigou.aspx ", " ", "dialogWidth=300px;dialogHeight=600px;status=no;help=no;scrollbars=no ")
document.form1.TextBox6.value=someValue;
}
( "../Zuzhijiegou/Jigou.aspx)页面代码。
protected void CategoryView_SelectedNodeChanged(object sender, EventArgs e)
{
string mc;
mc = CategoryView.SelectedNode.Text.ToString();
Label1.Text = mc;
Response.Write( " <script> parent.window.returnValue= ' "+mc+ " '; window.close(); </script> ");
}
单独使用Jigou.aspx这个页面有值返回
但 document.form1.TextBox6.value就没有值了。。。
如问题说的不详细请加QQ290304044
------解决方案--------------------parent.window.returnValue
==>
window.returnValue
另:document.form1.TextBox6.value
有没有写错
form1的名称?
------解决方案--------------------改用 document.getElementById( "TextBox6 ").value 试试
------解决方案--------------------这个页面是不是用户控件?
try:
document.getElementById( " <%=TextBox6.ClientID%> ").value
------解决方案--------------------弹出窗口里面是一个TreeView
==>
什么意思?这与弹出窗口有关系吗? 你不是说直接用都可返回成功的吗?
------解决方案--------------------Response.Write( " <script> parent.window.returnValue= ' "+mc+ " '; window.close(); ";中的
returnValue是全局变量吗?是的话改成opener.returnValue行不?
------解决方案--------------------最笨得方法就是把在函数里把值传给全局变量
------解决方案--------------------我现在也遇到了这样的问题,用Response.write实现了下载的时候,开了一个小页面上也不能执行window.close操作。
------解决方案--------------------单独打开 returnValue怎么会有效果呢??
另:
<base target= "_self " />
加了吧?
------解决方案--------------------幕白兄, 可否帮我看看这个问题,以前请教过,谁知又蹦出来了。http://community.csdn.net/Expert/topic/5646/5646520.xml?temp=.3265955
------解决方案--------------------单独使用Jigou.aspx这个页面有值返回
但 document.form1.TextBox6.value就没有值了。。。
==================
怎么个单独使用法?直接访问 Jigou.aspx ? 那 window.returnValue 给谁?
没有值 什么意思? 没有返回值? 还是报错了?
关键是要吧问题说清楚,表浪费时间
特别的对于, showModalDialog 的 .aspx 要在 head 加上 <base target=-self />
否则刷新页面会弹出新窗口,window.returnValue 返回的自然不原始的父窗口