JS如何获取指定对象下面的表单元素的值,见代码!

<div id="aaa">
<div id="bbb" style="background:#ff0000">
a:<input type="text" id="a" name="a" />
b:<input type="text" id="b" name="b" />
</div>
<br><br>
<div id="ccc" style="background:#008800">
a:<input type="text" id="a" name="a" />
b:<input type="text" id="b" name="b" />
</div>
</div>
<input name="get" type="button" id="get" value="获取元素aaa中的bbb下面的input名称为a的值" onclick="getA()">
<input name="get" type="button" id="get" value="获取元素aaa中的ccc下面的input名称为b的值" onclick="getB()">
<script>
function getA(){
alert(document.getElementById("aaa").document.getElementById("bbb").document.getElementById("a").value)
}
function getB(){
alert(document.getElementById("aaa").document.getElementById("ccc").document.getElementById("b").value)
}
</script>

以上这段代码只是一个简单的测试,执行不通过,当然我自己可以通过Dom的childNodes来获取得到,但问题是相当的麻烦!
肯请高手出招!在线等答案!
另:必须兼容FF,OPERA等主流浏览器,问题解决,追加100分!

*******************************************************************************

自己已经解决了,只不过稍微有点不理想,期待各位高手的最佳答案!

document.getElementById("aaa").getElemenentsByTagName("input")
这样是所有input的集合.如果没有其他类型的话(比如type=button),这样就可以了.追问

我已经基本解决了,感谢你的回答,我的方法如下:

document.getElementById("bbb").getElemenentsByTagName("input")["a"].value;
document.getElementById("ccc").getElemenentsByTagName("input")["b"].value;

但我总是感觉这样不太理想,因为并没有达到我的要求,.主要是不知道有多少层!

追答

那你就只能获取最外层aaa下的所有input
如果每个子层的input的数量都一样,就很好解决.
你也可以这样
获取所有aaa下的input
取第一个input,找他的父层,记录id
然后后面每取一个input就找下他的父层,如何和初始id一直,就说明还在一个层下
如果不一致,就说明换了一个子层.
这样即使每个层下的input的数量不一致也能掌握了.

追问

以input的ID来记录这不行啊,因为我的input的名称都是一样的!反正很麻烦!

见楼下的代码,你就懂得!

追答

你怎么没看明白啊.
是父层的id

追问

我理解你的说法了,如果单独的DIV好处理,但问题是我的还用到了表格,因此,在单元格之中要取父亲的ID,只有parentNote.parentNote..parentNote这样才能取得,说了一半天就是页面的HTML代码不规则!

追答

这只是按你的要求来的.你为什么要这么做呢?
话说你再追问就该另外收财富了...

追问

非常感觉你的回答,财富值无所谓的,交流心得与技术也是我的财富啊,我的财富值有1万多呢,哈哈!

因为这程序是做一个值班系统,在提交之前要通过JS获取并处理好放在一个隐藏的表单之中,然后提交到服务端的,

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-23
不知道楼主的不知道有多少层是什么意思?追问



我要获取aaa-bbb-ddd-eee中的a的值!

追答

如果你想获取aaa-bbb-ddd-eee下的a,让你传aaa,bbb,ddd,eee,a这五个参数,你能接受吗?

追问

这是通过循环传递的,当然能接受,但只要能准确的获取该值,哪怕再复杂我也能接受!

js如何获取表单中数组的值?
value 属性为 input 元素设定值,表单的值一般是元素的value属性: 假设有以下form,拥有一个input字段(带空值预定义)以及一个提交按钮 :提取表单值代码:提交之后获取的结果是:空值:不为空:

javascript获取元素(javascript中获取元素的方法有哪些)
如何用js获取id元素内容方法有两种:1、通过jquery的方式,使用id选择器方式获取节点,然后获取值。2、通过原生的dom方式,获取id的值。每一个HTML元素都使用id来进行一个标注,随后可以通过document.getElementById(“ID名称”)取得指定的ID元素对象,取得元素对象之后就可以对其进行操作。但是document.getEl...

html JS 获取tr\/td 表单元素下面的各个值
这是获得每个tr 中td 的内容 ('#myTableProduct tr').each(function(index,ele){ (this).find('td').each(function(index,ele){ alert($(ele).html());})}) 不用谢我 ---君少

JS部分怎么写才能把form表单里的数据输出出来
js获取表单数据命令是:document.getElementById("xxx").value;输出表单数据到某个dom元素内是使用:document.getElementById("ddd").innerHTML;因此要使用js输出表单数据可以先讲表单数据整合临时存储到某个变量,在统一输出到某个dom节点内 举例: 输出表单值: js: function fmResult(){ var n...

js中如何获取一个id的值?
只要使用getAttribute("id")函数即可获取li元素的id值,下面我们一起实例操作一下吧 首先我们在html当中创建li标签 使用JS获取li元素对象,getElementsByTagName("li")3.接着我们打印出这样的运行效果看一下:4.使用JS获取li元素的ID 值即可,getAttribute("id")5.下面我们一起来看下运行效果 ...

怎么获取JSP表单中file的值
JSP上传文件使用的开源组件UPload,获得file文件路径,可以使用如下方法:String myFilepath=myFile.getFilePath();获得该文件的路径,使用上述方法有一个前提就是必须确保已经上传成功。

JS获取HTML DOM元素的方法
1. 通过ID获取元素(getElementById):使用document.getElementById('id'),必须传入元素的ID,返回一个元素,未找到时返回null。注意,如果有多个ID存在,只获取第一个;IE6、7中会将表单元素的name值当作ID获取;大小写不敏感;不推荐直接用ID代表元素;上下文必须是document。2. 通过name属性获取元素...

js怎么把表单全部元素值插入到指定ID的textarea中
第一个比较容易解决吧,第二个问题可以这样写个函数setstr(),然后在点“插入到代码区”按钮时调用这个函数:function setstr(){ var namdstr=document.getElementsByName("namd")var urlstr= document.getElementsByName("url")for (i=0;i<namdstr.length;i++){ document.getElementById ("str...

js如何获取当前input的value
方法一:通过HTML表单和JavaScript交互 在HTML代码中,给form元素一个名字"myform",然后在JavaScript中,可以使用`document.getElementById("nn").value`来获取id为"nn"的input元素的value。示例代码如下:当点击"获取"按钮时,这个函数会弹出input的当前值。方法二:直接使用JavaScript全局变量 另一种方式...

如何js获取当前input的value值
获取网页input的value值在JavaScript中非常直观,主要有两种常用方法。首先,通过为表单添加名字并引用它,你可以直接获取input元素的value。以下是一个示例: function print() { var a = document.myform.name.value;alert(a);} 这种方法利用表单名和元素id来访问input的value属性。另...

相似回答