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

请问在js里面如何动态的创建一个iframe?

楼主bearthepalm()2005-05-05 08:58:55 在 .NET技术 / ASP.NET 提问

请问在js里面如何动态的创建一个iframe,并把一个ListBox连同ListBox里面的值添加到iframe。  
   非常感谢!!! 问题点数:100、回复次数:26Top

1 楼ttyp(@http://www.cnblogs.com/ttyp/)回复于 2005-05-05 09:08:31 得分 15

var   frm   =   document.createElement("iframe");  
   
  document.body.appendChild(frm);  
   
  frm.document.write(yourhtml);Top

2 楼luckyprg(lucky)回复于 2005-05-05 09:09:58 得分 2

上面已讲出正确答案,我就JF好了。Top

3 楼bearthepalm()回复于 2005-05-05 09:11:00 得分 0

谢谢ttyp(@http://www.cnblogs.com/ttyp/)!  
   可是要把ListBox里面各个选项的值添加到iframe,要怎么做呢?Top

4 楼bearthepalm()回复于 2005-05-05 09:11:36 得分 0

谢谢luckyprg(lucky)!Top

5 楼xiaomaolover(小M)回复于 2005-05-05 09:15:24 得分 5

可是要把ListBox里面各个选项的值添加到iframe,要怎么做呢?  
   
  可以传值给Iframe的页面.  
  Top

6 楼bearthepalm()回复于 2005-05-05 09:18:41 得分 0

thanks   to   xiaomaolover(笨   笨)   :  
      请问要怎么传呢?Top

7 楼bearthepalm()回复于 2005-05-05 09:35:21 得分 0

ListBox不可以用appendChild的形式添加到iframe吗?Top

8 楼hchxxzx(NET?摸到一点门槛)回复于 2005-05-05 09:36:46 得分 15

<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <HTML>  
  <HEAD>  
  <TITLE>   New   Document   </TITLE>  
  <META   NAME="Generator"   CONTENT="EditPlus">  
  <META   NAME="Author"   CONTENT="">  
  <META   NAME="Keywords"   CONTENT="">  
  <META   NAME="Description"   CONTENT="">  
  </HEAD>  
   
  <BODY>  
      <select   name="listbox1"   size="4"   multiple>  
          <option   value="sdgs">sdg</option>  
          <option   value="sg">sdg</option>  
          <option   value="sdg">sdg</option>  
      </select>  
  </BODY>  
  </HTML>  
  <SCRIPT   LANGUAGE="JavaScript">  
  <!--  
  var   frm   =   document.createElement("iframe");  
  document.body.appendChild(frm);  
  var   ifram   =   document.frames[0];  
  ifram.document.write("这是动态生成的<br>");  
  frm.document.write("这是动态生成的");  
   
  var   listbox   =   document.all("listbox1")  
  for(var   i=0;i<listbox.length;i++)  
  {  
  ifram.document.write(listbox[i].value   +   "<br>");  
  }  
   
   
  //-->  
  </SCRIPT>Top

9 楼bearthepalm()回复于 2005-05-05 09:50:50 得分 0

感谢hchxxzx(NET?摸到一点门槛)!Top

10 楼dreamy835(风雨)回复于 2005-05-05 09:56:58 得分 2

呵呵   我跑来学习下Top

11 楼bearthepalm()回复于 2005-05-05 11:18:44 得分 0

要再麻烦一下hchxxzx(NET?摸到一点门槛)啊!  
    这样创建的iframe要怎样显示和隐藏呢?  
    用document.all.ifram.style.display=''; 或者用document.all.frm.style.display='';  
  电脑的提示是:“document.all.ifram.style为空或不是对象”  
          ‘document.all.frm.style为空或不是对象‘  
   
    谢谢啦!Top

12 楼hunter_32(曠野裡奔嘯的狼)回复于 2005-05-05 11:23:35 得分 0

學習加接分  
  Top

13 楼ttyp(@http://www.cnblogs.com/ttyp/)回复于 2005-05-05 11:50:48 得分 5

你没给iframe命名,注意要id,name都要设置Top

14 楼hchxxzx(NET?摸到一点门槛)回复于 2005-05-05 12:31:45 得分 15

<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <HTML>  
  <HEAD>  
  <TITLE>   New   Document   </TITLE>  
  <META   NAME="Generator"   CONTENT="EditPlus">  
  <META   NAME="Author"   CONTENT="">  
  <META   NAME="Keywords"   CONTENT="">  
  <META   NAME="Description"   CONTENT="">  
  </HEAD>  
   
  <BODY>  
      <select   name="listbox1"   size="4"   multiple>  
          <option   value="sdgs">sdg</option>  
          <option   value="sg">sdg</option>  
          <option   value="sdg">sdg</option>  
      </select>  
      <input   type=button   value=button1   name=button1   onclick="f();">  
  </BODY>  
  </HTML>  
  <SCRIPT   LANGUAGE="JavaScript">  
  <!--  
  var   frm   =   document.createElement("iframe");  
  frm.id   =   "frm1";  
  frm.name   =   "frm1";  
  document.body.appendChild(frm);  
  var   ifram   =   document.frames[0];  
  ifram.document.write("这是动态生成的<br>");  
  frm.document.write("这是动态生成的");  
   
  var   listbox   =   document.all("listbox1")  
  for(var   i=0;i<listbox.length;i++)  
  {  
  ifram.document.write(listbox[i].value   +   "<br>");  
  }  
   
  function   f()  
  {  
  var   mydisplay   =   document.all("frm1").style.display;  
  if(mydisplay   ==   "none")  
  {  
  document.all("frm1").style.display   =   "block";  
  }  
  else  
  {  
  document.all("frm1").style.display   =   "none";  
  }  
  }  
   
  //-->  
  </SCRIPT>  
  Top

15 楼bearthepalm()回复于 2005-05-05 12:58:42 得分 0

谢谢hchxxzx(NET?摸到一点门槛)和ttyp(@http://www.cnblogs.com/ttyp/)   !Top

16 楼bearthepalm()回复于 2005-05-05 13:54:44 得分 0

thanks   a   lot   to   hchxxzx(NET?摸到一点门槛):  
      可能是我真的太菜啦。运行您给的代码时:  
   frm.document.write("这是动态生成的");这句是在一个新的页面里打印出"这是动态生成的",  
  而我想要在本页面里面显示出来。  
   而ifram.document.write("这是动态生成的<br>");和  
    var   listbox   =   document.all("listbox1")  
  for(var   i=0;i<listbox.length;i++)  
  {  
  ifram.document.write(listbox[i].value   +   "<br>");  
  }  
    运行后却只是显示一个空的iframe,并没有把ListBox中的项显示出来。  
      
    这两句   document.all("frm1").style.display   =   "block";  
         document.all("frm1").style.display   =   "none";  
    运行的时候电脑会提示:缺少对象  
   
    谢谢!Top

17 楼bearthepalm()回复于 2005-05-05 14:57:11 得分 0

to   hchxxzx(NET?摸到一点门槛):  
      其实我的目的是不要让ListBox被DropDownList挡住啦。  
     
   我用textbox和listbox结合做了一个复合控件,有的时候当显示ListBox的时候,会被dropdownlist挡住,所以就想到了iframe,如果不用iframe,可以有其它的办法吗?Top

18 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-05-05 15:05:03 得分 2

你是要组合做一个combobox吧?Top

19 楼bearthepalm()回复于 2005-05-05 15:27:59 得分 0

谢谢hackate(^-^兰心-寒   超级苯苯!因为我笨,所以我很快乐!)   !  
   是的!Top

20 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-05-05 15:40:38 得分 5

http://community.csdn.net/Expert/topic/3930/3930256.xml?temp=.9410822  
   
  呵呵。那何必那么痛苦呢,人家都做出的,听说效果不错,个人没用过啦,你看看Top

21 楼bearthepalm()回复于 2005-05-05 15:47:00 得分 0

谢谢hackate(^-^兰心-寒   超级苯苯!因为我笨,所以我很快乐!)!!  
    不过那个我早就试过啦,觉得不怎么好用。  
    不知道在js里面能不能动态的创建一个object对象,然后把ListBox附加到上面,如果可以的话,就不会被dropdownlist挡住啦。Top

22 楼cat_hsfz(我的新Blog在http://cathsfz.cnblogs.com)回复于 2005-05-05 23:53:10 得分 30

创建iframe的标准做法是document.createElement('iframe'),但是IE6存在一个巨大的漏洞,就是这创建出来的iframe无法修改他的name。所以这样做,还不如:  
  tempDiv   =   document.createElement('div');  
  document.body.appendChild(tempDiv);  
  tempDiv.innerHTML='<iframe><!--iframe   content   here--></iframe>';  
  至于你所要的iframe和select的HTML代码应该没问题了吧,那就填到上面innerHTML的部分。Top

23 楼bearthepalm()回复于 2005-05-06 19:56:09 得分 0

多谢cat_hsfz()!Top

24 楼bearthepalm()回复于 2005-05-06 19:57:31 得分 0

回头去试试!Top

25 楼Pipiloo(皮皮鲁)回复于 2005-05-06 20:17:09 得分 2

markTop

26 楼xueqs()回复于 2005-05-06 20:27:24 得分 2

markTop

相关问题

  • 动态创建......
  • 不是通过src,Js动态设置iframe中的内容
  • 请问如何向动态创建的iframe中添加子元素?
  • 动态创建TQuery
  • 创建动态datawindow
  • 动态创建表
  • !!自动创建还是动态创建!!
  • 动态创建窗体?
  • 动态创建数据源
  • 如何动态创建ODBC?

关键词

得分解答快速导航

  • 帖主:bearthepalm
  • ttyp
  • luckyprg
  • xiaomaolover
  • hchxxzx
  • dreamy835
  • ttyp
  • hchxxzx
  • hackate
  • hackate
  • cat_hsfz
  • Pipiloo
  • xueqs

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

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