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

表格中的元素

楼主fokker(独孤龙)2002-04-10 13:55:46 在 Web 开发 / JavaScript 提问

一个表格中有n个input元素,我怎样才能取到这个表格所有input的对象? 问题点数:45、回复次数:12Top

1 楼weidegong(weidegong)回复于 2002-04-10 14:08:41 得分 20

<script   language=javascript>  
  function   show(){  
  var   n=document.all.tags("input").length;  
  var   str="";  
  for(i=0;i<n;i++)   str+=document.all.tags("input")[i].name+";";  
  alert(str);  
  }  
   
  </script>  
   
  <input   name=input1>  
  <input   name=input22>  
  <input   type=button   name=input3   value="show"   onclick=show()>Top

2 楼weidegong(weidegong)回复于 2002-04-10 14:10:11 得分 0

表格中?什么意思?Top

3 楼fokker(独孤龙)回复于 2002-04-10 15:41:41 得分 0

<TABLE   id=tableA>  
      <TR>  
          <TD><INPUT   id=text1   name=text1></TD>  
          <TD><INPUT   id=text2   name=text2></TD>  
          <TD><INPUT   id=text3   name=text3></TD></TR></TABLE></P>  
  我只想取上面的那三个input对象,不要页面上其他的input,怎么办?Top

4 楼seabell(百合心)回复于 2002-04-10 16:09:40 得分 25

<script   language=javascript>  
  function   show(){  
  var   n=document.form1.tags("input").length;  
  var   str="";  
  for(i=0;i<n;i++)   str+=document.form1.tags("input")[i].name+";";  
  alert(str);  
  }  
   
  </script>  
   
  <input   name=input1>  
  <input   name=input2>  
  <input   type=button   name=input3   value="show"   onclick=show()>  
   
  <form   name=form1>  
  <TABLE   id=tableA>  
      <TR>  
          <TD><INPUT   id=text1   name=text1></TD>  
          <TD><INPUT   id=text2   name=text2></TD>  
          <TD><INPUT   id=text3   name=text3></TD></TR></TABLE></P>  
  </form>Top

5 楼chinaillboy(浪漫)回复于 2002-04-10 17:06:24 得分 0

 
  following   weidegong(weidegong)   ,get   the   object's   name:  
  var   str   =   name;  
   
  if(str   ==   "text1"   ||   str   ==   "text2"   ||   str   ==   "text3"){  
          ........  
  }Top

6 楼fokker(独孤龙)回复于 2002-04-10 17:24:22 得分 0

to   seabell(seabell):这样做会把input1、input2和input3也一块取到,我不想要除了包含在tableA里面的所有input。  
   
  to   chinaillboy(浪漫不起来):我并不知道tableA中的input的名称,text1   2   3只是举个例子。Top

7 楼fokker(独孤龙)回复于 2002-04-10 18:00:54 得分 0

想到一个很笨的办法,谁有更好的啊?  
   
  function   show(){  
      var   n=document.all.tags("input").length;  
      var   str="";  
      for(i=0;i<n;i++){  
          var   tmp=document.all.tags("input")[i];  
          if(tmp.parentElement.parentElement.parentElement.parentElement.id=="tableA")  
          str+=document.all.tags("input")[i].name+";";  
      }  
          alert(str);  
  }  
   
   
  Top

8 楼seabell(百合心)回复于 2002-04-10 18:25:09 得分 0

fokker(独孤龙),你可能没有试试我改进的方法,在需要的小范围(如table)外圈了<form   name=form1>的。这种方式最直接了,在其他范围也同样适用。  
  你的方法也可以,不过要判断parentElement是否存在  
  <script   language=javascript>  
  function   show(){  
      var   n=document.all.tags("input").length;  
      var   str="";  
      for(i=0;i<n;i++){  
          var   tmp=document.all.tags("input")[i];  
   
  if(tmp.parentElement!=null)//不可少  
  if(tmp.parentElement.parentElement!=null)//不可少  
  if(tmp.parentElement.parentElement.parentElement!=null)//不可少  
  if(tmp.parentElement.parentElement.parentElement.parentElement!=null)//不可少  
  {  
        if(tmp.parentElement.parentElement.parentElement.parentElement.id=="tableA")  
        str+=document.all.tags("input")[i].name+";";  
   
  }  
   
      }  
          alert(str);  
  }  
   
  </script>  
   
  <input   name=input1>  
  <input   name=input2>  
  <input   type=button   name=input3   value="show"   onclick=show()>  
   
  <form   name=form1>  
  <TABLE   id=tableA>  
      <TR>  
          <TD><INPUT   id=text1   name=text1></TD>  
          <TD><INPUT   id=text2   name=text2></TD>  
          <TD><INPUT   id=text3   name=text3></TD></TR></TABLE></P>  
  </form>Top

9 楼weidegong(weidegong)回复于 2002-04-10 20:17:49 得分 0

全放在form里面是最方便的了Top

10 楼fokker(独孤龙)回复于 2002-04-11 09:29:18 得分 0

to   seabell(seabell):我没有仔细看你的代码,你说的对。  
  但,我的html页面不是我自己写的,而是由一个lotus数据库中的一个表单生成的,它只有一个form,所有的元素都在这个form里面。还有什么办法呢?Top

11 楼weidegong(weidegong)回复于 2002-04-11 09:35:49 得分 0

我没有仔细看你的代码,呵呵,说得好Top

12 楼fokker(独孤龙)回复于 2002-04-11 17:03:44 得分 0

我重新写了一个递归函数来判断一个input是不是指定表格中的元素,不会出错了,速度好像也快一些。可惜不能给自己加分,遗憾。  
   
  function   fDo(oItem,sId){  
  var   flag   =   false;  
  if(oItem.parentElement){  
  if(oItem.parentElement.tagName=="TABLE")  
  if(oItem.parentElement.id==sId){  
  flag=true;  
  return   flag;  
  }  
  else{  
  flag=false  
  return   flag;  
  }  
  else    
  return   fDo(oItem.parentElement,sId);  
  }  
  return   flag;  
  }Top

相关问题

  • 如何选择表格中一行中的一个元素??
  • 如何判断表格中某一行的text元素被改动
  • 在WORD中插入表格的时候,怎样在表格里插入表格?
  • vb中的表格问题
  • 删除表格中的列
  • 在WORD中操作表格!
  • QReport中怎么画表格?
  • word中的表格选择
  • DataGrid取表格中的值!
  • 网页中的表格怎样实现表格大小固定?

关键词

  • 表格
  • oitem
  • seabell
  • 元素
  • parentelement
  • flag
  • input
  • sid
  • 所有
  • str

得分解答快速导航

  • 帖主:fokker
  • weidegong
  • seabell

相关链接

  • Web开发类图书

广告也精彩

反馈

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