javascript:document.all & document.getElementsByName
2009-07-23 19:24
316 查看
document.all("htmlControlName");
document.getElementsByName("htmlControlName");
这两个方法都可以获取页面当中多个Name相同的html控件.
例如:页面存在html combobox控件
审批
<select name="cmbMark" id="V_CUSTOMERORDER_1.CO_CHECK" size="1" style="WIDTH: 130px;">
<option value="2" selected="selected">全部</option>
<option value="1">已审批</option>
<option value="0">未审批</option>
</select>
当需要取combobox控件个数时;
如果用document.all("cmbMark"); (错误)
则:var count=document.all("cmbMark").length;
此时count的值为3.(此时的count计数是cmbMark控件下的三个option的个数) 再用下面遍历取值将会出错
var cmbObj=document.all("cmbMark");
if(cmbObj!=null)
{
cmbCount=cmbObj.length;
if(cmbCount!=null)
{
for(var j=0;j<cmbCount;j++)
{
//当循环到j=2时将找不到document.all("cmbMark",j).id值.(因为document.all("cmbMark",2)是不存在此对象的)
var strSelectedID=document.all("cmbMark",j).id;
var strSelectedValue=document.all("cmbMark",j).value;
}
}
}
如果用document.getElementsByName("cmbMark");(正确)
var cmbObj=document.getElementsByName("cmbMark");
if(cmbObj!=null)
{
cmbCount=cmbObj.length;
//此时的cmbCount=1;取值是正确的它取到的是cmbMark控件的个数
if(cmbCount!=null)
{
for(var j=0;j<cmbCount;j++)
{
var strSelectedID=document.all("cmbMark",j).id;
var strSelectedValue=document.all("cmbMark",j).value;
}
}
}
document.getElementsByName()
这个方法.它对一个和多个的处理是一样的,我们可以用:
oEle = document.getElementsByName('aaa')
来引用
当oEle只有1个的时候,那么就是oEle[0],有多个的时候,用下标法oEle[i]循环获取,是不是很简单?
值得一提的是它对Name和ID的同样有效的. (它只能应用到document对象)
<div id=radiodiv language=javascript >
<INPUT name=radio1 value=1 type="radio">
<INPUT name=radio1 value=0 type="radio" CHECKED>
</div>
document.getElementsByName("radio1").item(0).value 结果是 1
但是.相对应的,还有另一个方法,可以应用的对象会更广一点:
getElementsByTagName
<div id=radiodiv language=javascript >
<INPUT name=radio1 value=1 type="radio" id=myRadio1>
<INPUT name=radio1 value=0 type="radio" id=myRadio2 CHECKED >
</div>
radiodiv.getElementsByTagName("input").item(0).value 结果是 1
document.getElementsByName("htmlControlName");
这两个方法都可以获取页面当中多个Name相同的html控件.
例如:页面存在html combobox控件
审批
<select name="cmbMark" id="V_CUSTOMERORDER_1.CO_CHECK" size="1" style="WIDTH: 130px;">
<option value="2" selected="selected">全部</option>
<option value="1">已审批</option>
<option value="0">未审批</option>
</select>
当需要取combobox控件个数时;
如果用document.all("cmbMark"); (错误)
则:var count=document.all("cmbMark").length;
此时count的值为3.(此时的count计数是cmbMark控件下的三个option的个数) 再用下面遍历取值将会出错
var cmbObj=document.all("cmbMark");
if(cmbObj!=null)
{
cmbCount=cmbObj.length;
if(cmbCount!=null)
{
for(var j=0;j<cmbCount;j++)
{
//当循环到j=2时将找不到document.all("cmbMark",j).id值.(因为document.all("cmbMark",2)是不存在此对象的)
var strSelectedID=document.all("cmbMark",j).id;
var strSelectedValue=document.all("cmbMark",j).value;
}
}
}
如果用document.getElementsByName("cmbMark");(正确)
var cmbObj=document.getElementsByName("cmbMark");
if(cmbObj!=null)
{
cmbCount=cmbObj.length;
//此时的cmbCount=1;取值是正确的它取到的是cmbMark控件的个数
if(cmbCount!=null)
{
for(var j=0;j<cmbCount;j++)
{
var strSelectedID=document.all("cmbMark",j).id;
var strSelectedValue=document.all("cmbMark",j).value;
}
}
}
document.getElementsByName()
这个方法.它对一个和多个的处理是一样的,我们可以用:
oEle = document.getElementsByName('aaa')
来引用
当oEle只有1个的时候,那么就是oEle[0],有多个的时候,用下标法oEle[i]循环获取,是不是很简单?
值得一提的是它对Name和ID的同样有效的. (它只能应用到document对象)
<div id=radiodiv language=javascript >
<INPUT name=radio1 value=1 type="radio">
<INPUT name=radio1 value=0 type="radio" CHECKED>
</div>
document.getElementsByName("radio1").item(0).value 结果是 1
但是.相对应的,还有另一个方法,可以应用的对象会更广一点:
getElementsByTagName
<div id=radiodiv language=javascript >
<INPUT name=radio1 value=1 type="radio" id=myRadio1>
<INPUT name=radio1 value=0 type="radio" id=myRadio2 CHECKED >
</div>
radiodiv.getElementsByTagName("input").item(0).value 结果是 1
相关文章推荐
- document.all & document.getElementsByName?
- document.getElementById("")和document.getElementsByName()和document.getElementsByTagName()有什么区别
- document,document.all,getElementById,getElementsByName,getElementsByTagName
- document.all还是document.getElementsByName?
- document.all与getElementById、getElementsByName、getElementsByTagName用法区别-getElementById
- document,document.all,getElementById,getElementsByName,getElementsByTagName
- document.getElementById与getElementsByName的区别(JavaScript)
- document.all还是document.getElementsByName?
- document.getElementsByName & document.getElementById 在IE与FF中不同实现
- document,document.all,getElementById,getElementsByName,getElementsByTagName
- document.getElementsByName('paging.currentPage')[0].value = 'your value';
- getElementByID和getElementsByName和getElementsByTagName和document.all的区别
- document.all还是document.getElementsByName?
- getElementByID和getElementsByName和getElementsByTagName和document.all的区别
- document.all与getElementById、getElementsByName、getElementsByTagName用法区别-document.all
- document.all与getElementById、getElementsByName、getElementsByTagName用法区别-getElementById
- document,document.all,getElementById,getElementsByName,getElementsByTagName
- document.all还是document.getElementsByName?
- document.all还是document.getElementsByName?