+ -
当前位置:首页 → 问答吧 → 高手帮帮我啊,js取得多个文本框的值

高手帮帮我啊,js取得多个文本框的值

时间:2011-10-20

来源:互联网

<input type="text" name="shuzi" value="10">
<input type="text" name="shuzi" value="15">

我一个表单中有两个name名字相同的文本框,我要用js获得这两个的value值,怎么得到呢?急啊,谢谢各位。

作者: rdw168   发布时间: 2011-10-20

var els = document.getElementsByName("shuzi");

for (var i = 0, j = els.length; i < j; i++) {
  alert(els[i].value);
}

作者: liangws   发布时间: 2011-10-20

var els = document.getElementsByName("shuzi");
for (var i = 0, j = els.length; i < j; i++){
  alert(els[i].value);
}

作者: liangws   发布时间: 2011-10-20

编写html的时候,name能不相同尽量别搞成一样的。
还有基本思路楼上是对的,getElementsByName貌似不兼容吧。。
使用getElementsByTagName,但是还要参考html,毕竟html里面可能还有其他text文本框。。。。
JScript code
 
var els = document.getElementsByTagName("input");
for (var i = 0, j = els.length; i < j; i++){
  if(els[i].name=="shuzi"&&els[i].type=="text"){
  alert(els[i].value);
 }
}

作者: BLUE_LG   发布时间: 2011-10-20

<input type="text" name="shuzi" id="J_shuzi" value="10">
<input type="text" name="shuzi" id="J_shuzi" value="15">

我一个表单中有两个name名字相同的文本框,我要用js获得这两个的value值,怎么得到呢?急啊,谢谢各位。

作者: rdw168   发布时间: 2011-10-20

JScript code
 var els = document.getElementsByTagName("input");
for (var i = 0, j = els.length; i < j; i++){
  if(els[i].type=="text"&&els[i].name="shuzi"){
  alert(els[i].value);
}
}
//getElementsByName兼容性好像不怎么好吧。。

作者: BLUE_LG   发布时间: 2011-10-20

JScript code
 var els = document.getElementsByTagName("input");
for (var i = 0, j = els.length; i < j; i++){
  if(els[i].type=="text"&&els[i].name="shuzi"){
  alert(els[i].value);
}
}
//注意getElementsByName的兼容性

作者: BLUE_LG   发布时间: 2011-10-20

JScript code
 var els = document.getElementsByTagName("input");
for (var i = 0, j = els.length; i < j; i++){
  if(els[i].type=="text"&&els[i].name="shuzi"){
  alert(els[i].value);
}
}

作者: BLUE_LG   发布时间: 2011-10-20

<input type="text" name="shuzi" id="J_shuzi" value="10">
<input type="text" name="shuzi" id="J_shuzi" value="15">

我一个表单中有两个name名字相同的文本框,我要用js获得这两个的value值,怎么得到呢?急啊,谢谢各位。

如果是id呢,怎么取呢?

作者: rdw168   发布时间: 2011-10-20

document.getElementsByName("name");
当name为名的标签不唯一的时候返回的是符合条件的标签的集合
取值即以数组形式
楼上正解。
els[i].value

作者: yuliya1027   发布时间: 2011-10-20

那就getElementsById呗,id不唯一,返回的就是一个结果集。

作者: yuliya1027   发布时间: 2011-10-20

页面上的id严格来说是不能重复的 。

作者: zell419   发布时间: 2011-10-20

那就getElementById呗,id不唯一,就会返回结果集。

作者: yuliya1027   发布时间: 2011-10-20

ID就是唯一索引的意思,有2个相同的ID根本上不是一个正确的做法

作者: liangws   发布时间: 2011-10-20

在ASP.NET中好像不允许两个ID一样,纯静态页面中你可以自己去试看,request["ID"]是什么结果

作者: kongxiangli   发布时间: 2011-10-20

document.getElementsByName() IE不支持最好不要用。
JScript code
var inputs = document.getElementsByTagName('input');
for(var i in inputs){
var input = inputs[i];
if(input.type=="text" && input.name=="shuzi"){
alert(input.value);
}
}
HTML标准规定一个页面不能有相同的ID,你写两个一模一样的ID干什么。。

作者: axiheyhey   发布时间: 2011-10-20