import_vf.Attributes.Add("onclick", "if(confirm('打开另一窗口吗?你确定吗,大家帮我呀?')){var return_value=showModalDialog('exec_pro.html?pro_name=proc_成型预备所用到的表','_blank','dialogWidth:25em; dialogHeight:8.5em; status:0');}");
问题一、return_value有返回值,为什么下面的不弹出消息对话框!
Response.Write("<script>alert(return_value);</script>");问题二、
在打开的模态窗口exec_pro.html文件中window.opener.document.Form1.now_data.innerText="aaaaaaaa";赋时为什么说window.opener.document为空或不是对象?问题三、
为什么Response.Write("<script>alert(document.Form1.div_server.innerText);</script>");
div_server是一div标签,在服务器上运行,为什么这对话框也弹不出来有错误?

解决方案 »

  1.   

    问题一:你把服务器端和客户端弄混了
    问题二:不能用opener引用,好象要访问父窗口的东西必须要在showModalDialog中作为参数传进来。即showModalDialog(url,self,feature)
    问题三:div不能这样访问,要这样用document.all("div_server").innerText.另外div_server是服务器端的?纳闷中。如果是服务器的不能这样用。
      

  2.   

    我将div_server在服务器上运行除掉也不行:
    Response.Write("<script>alert(document.all('div_server').innerText);</script>");
      

  3.   

    是分啊,
    给你个建议,你在把JS写到asp.net的代码前要先把 这些JS在 html中先测试测试。
      

  4.   

    一、Response.Write()方法输出任何语句都在<html>标签之前被发送到客户端,这时你的return_value这个变量根本就不存在,如果能显示?
    二、模态窗口没有opener对象,这不同于用window.open打开的窗口,具体如何传递参数请看这个帖子:http://community.csdn.net/Expert/topicview.asp?id=2637793
    三、和第一个问题同理。