javascript:document.all & document.getElementsByName

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

转载于:https://www.cnblogs.com/Yellowjian/archive/2008/01/03/1008637.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值