document.getElementById 获得数组

LazyCat--懒猫 2011-06-30 04:08:02
假如一个页面有很多个id位summary的input
<input name='summary' id='summary' type='text' />
<input name='summary' id='summary' type='text' />
<input name='summary' id='summary' type='text' />
<input name='summary' id='summary' type='text' />

怎么才能在js中获得summary的数组呢?

那么应该怎样用
document.getElementById( 'summary ')(我试过了,返回的不是一个数组)
...全文
1291 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
jnhcd 2011-07-01
  • 打赏
  • 举报
回复
3楼正解!!
LazyCat--懒猫 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 yanyuegongzuoshi 的回复:]

不能传数组,一般将数组封装成json数据传送,json的本质就是字符串,只不过它有特定的格式
[/Quote]


我知道,用json行,但是用json的话就需要过两个Action ,数值在第二个Action中会丢失的。
beannian 2011-07-01
  • 打赏
  • 举报
回复
不能传数组,一般将数组封装成json数据传送,json的本质就是字符串,只不过它有特定的格式
LazyCat--懒猫 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 yanyuegongzuoshi 的回复:]

引用 3 楼 peng_hao1988 的回复:
当然了,id是唯一的document.getElementById( 'summary ')返回的就是第一个,该方法一旦找到匹配的对象就立即返回了,说一直有一个,document.getElementsByName("summary")这样就可以返回一个集合。


或者用document.all.summary也是可以的
[/Quote]


我想在请教一下,在js中能够去传一个数组么?难道说是只能传字符串么
LazyCat--懒猫 2011-07-01
  • 打赏
  • 举报
回复
getElementById() 返回对拥有指定 id 的第一个对象的引用。

getElementsByName() 返回带有指定名称的对象集合。

getElementsByTagName() 返回带有指定标签名的对象集合。


谢谢大家了,getElementByName这个貌似不能用报错getElementsByName()这个能用,谢谢大家了分数不多
zhouyusunquan 2011-06-30
  • 打赏
  • 举报
回复
document.getElementsByName("summary");
或者document.getElementsByTag("input");
仅仅如此 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 okayu 的回复:]
document.all.summary :
这个是微软专用的。建议不要使用这个方法。

W3C标准是 document.getElementsByName('summary');

<input name='summary' id='summary1' type='text' />
<input name='summary' id='summary2' type='text' />
……
[/Quote]说的很全面。
ymhnan 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jianglang_a 的回复:]
getElementByName
[/Quote]
ok
ymhnan 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 xl4025 的回复:]
假如一个页面有很多个id位summary的input
<input name='summary' id='summary' type='text' />
<input name='summary' id='summary' type='text' />
<input name='summary' id='summary' type='text' />
<input name='summar……
[/Quote]

OK
熊猫哥哥 2011-06-30
  • 打赏
  • 举报
回复
document.all.summary :
这个是微软专用的。建议不要使用这个方法。

W3C标准是 document.getElementsByName('summary');

<input name='summary' id='summary1' type='text' />
<input name='summary' id='summary2' type='text' />
<input name='summary' id='summary3' type='text' />
<input name='summary' id='summary4' type='text' />
beannian 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 peng_hao1988 的回复:]
当然了,id是唯一的document.getElementById( 'summary ')返回的就是第一个,该方法一旦找到匹配的对象就立即返回了,说一直有一个,document.getElementsByName("summary")这样就可以返回一个集合。
[/Quote]

或者用document.all.summary也是可以的
xiaocao081113 2011-06-30
  • 打赏
  • 举报
回复
学习中
zhangqinhappy 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jianglang_a 的回复:]

getElementByName
[/Quote]
正解
pjg1989 2011-06-30
  • 打赏
  • 举报
回复
document.getElementsByName() 方法可返回带有指定名称的对象的集合
yuhuaguang 2011-06-30
  • 打赏
  • 举报
回复
学习学习。。哈
剑神一笑 2011-06-30
  • 打赏
  • 举报
回复
document.getElementsByName( 'summary ')
GuanZhiAnMian 2011-06-30
  • 打赏
  • 举报
回复
首先,你的这些input的id属性命名不规范,符合规范的id名称是唯一存在的,独一无二的,这样你document.getElementById才能得到那个唯一的标签对象,而得到一组那么相同的对象则用 document.getElementsByName()
傻傻的傻傻傻 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mingjiezhou 的回复:]
document.getElementsByName("summary"); 返回一个集合
[/Quote]

正解,就算你id都相同,但是用getElementById("summary");得到的只能是第一个id为summary<input>
的内容
zmj 2011-06-30
  • 打赏
  • 举报
回复
document.getElementsByName("summary"); 返回一个集合
桃园闲人 2011-06-30
  • 打赏
  • 举报
回复
不好意思,写了好多错别字哈~~,建议你学习一下JQuery,他对DOM操作很方便的。
加载更多回复(3)
document.all是IE 4.0及以上版本的专有属性,是一个表示当前文档的所有对象的娄组,不仅包括页面上可见的实体对象,还包括一些不可见的对象,比如html注释等等。在document.all数组里面,元素不分层次,是按照其在文档中出现的先后顺序,平行地罗列的。所以可以用数字索引来引用到任何一个元素。但比较常用的是用对象id来引用一个特定的对象,比如document.all[“element”]这样。 document.layers是Netscape 4.x专有的属性,是一个代表所有由储如
<layer>等定位了的元素的数组。通常也是用

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧