CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

ShowModalDialog() 的第二个参数传递一个对象后,如何调用它的方法?

楼主aChinese(一个中国人)2005-04-23 19:26:01 在 Web 开发 / JavaScript 提问

在主页面上放一个空的列表,   希望能够通过对话框选择,然后动态添加.  
  <Select   size=6   id="select1">   </Select>  
  <Script   language="javascript">  
        window.showModalDialog("dialog.htm",select1);  
  </cript>  
   
  //dialog.htm  
  ...  
      op   =   document.createElement("Option");  
      op.text   ="xxx";  
      op.value   =   "yyy";  
      window.dialogArguments.add(op);  
  ...  
   
   
  运行显示   window.dialogArguments.add(op)这行     参数无效.    
  请问要怎么样才能调用     add方法?     是不是有什么类型转换? 问题点数:100、回复次数:6Top

1 楼ice_berg16(寻梦的稻草人)回复于 2005-04-23 20:11:53 得分 100

这么做是不行的,  
  你create出来的op不是主窗口的元素,添加是不对的。  
   
  <Select   size=6   id="select1">   </Select>  
  <Script   language="javascript">  
        window.showModalDialog("dialog.htm",document);  
  </cript>  
   
  //dialog.htm  
  ...  
      pd   =   window.dialogArguments;  
      op   =   pd.createElement("Option");  
      op.text   ="xxx";  
      op.value   =   "yyy";  
      pd.getElementById("select1").add(op);  
   
  Top

2 楼wyhkgd(自由天神)回复于 2005-04-23 20:49:01 得分 0

test.htm  
  ***********************************  
  <html>  
   
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <title>测试页</title>  
  </head>  
   
  <body>  
  <form   name=form1>  
    <input   name="t1">  
    <input   value="确定"   type=button   onclick="return   check()">  
  </form>  
  <script   language="javascript">  
  <!--  
  function   check()  
  {  
  var     t1=form1.t1.value;  
  k=showModalDialog("dialog.htm",t1,"dialogWidth:400px;status:no;dialogHeight:300px");  
  //把输入的值传过去  
  alert("你在showModalDialog窗口中选择的值是:"+k);//k为接收传回来的值  
  }  
  //-->  
  </script></body>  
   
  </html>  
   
   
   
   
   
  dialog.htm  
  ******************************************  
  <select   name=s2   onchange="c(this.value)"></select>  
  <script   language>  
  var   k=window.dialogArguments;     //中就是接收showModalDialog的第二个参数,可是是变量,对象即数组等  
   
   
  s2.add(new   Option("text1","text1"));  
  s2.add(new   Option("text2","text2"));  
   
  s2.add(new   Option(k,k));  
   
  function   c(value){  
  window.returnValue=value;  
  window.close();  
  }  
  </script>  
  Top

3 楼sfply(随风飘零叶)回复于 2005-04-23 23:30:11 得分 0

你必须以主窗口方式创建OP  
  稻草人正解,开始偶也是百思不得其解,后来才想明白是这个问题Top

4 楼kfcn()回复于 2005-04-24 02:50:49 得分 0

不明白Top

5 楼wjcking()回复于 2005-04-24 11:41:48 得分 0

upTop

6 楼wyhkgd(自由天神)回复于 2005-04-24 13:18:51 得分 0

<html>  
  <body>  
  <script   language="javascript">  
  <!--  
  var   s1=document.createElement("select");  
  s1.add(new   Option("aaaaaaaa","a"));  
  s1.add(new   Option("bbbbbbbb","b"));  
  document.body.appendChild(s1);  
  //-->  
  </script>  
  </body>  
  </html>Top

相关问题

  • 调用DLL时如何传递参数?
  • 调用excel时能否传递参数?
  • 在调用Form时,如何向Form中传递参数?
  • 关于调用COM+对象传递参数的问题
  • 请问java调用外部exe文件,怎么传递参数?
  • vb 调用vc写的dll时,怎样传递数组参数
  • vb 调用vc写的dll时,怎样传递数组参数
  • Delphi中的DLL调用中的参数传递问题
  • 关于函数递归调用传递参数的问题!
  • 关于调用oracle存储过程传递参数的问题

关键词

得分解答快速导航

  • 帖主:aChinese
  • ice_berg16

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo