首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否仅限getElementsByName?

是否仅限getElementsByName?
EN

Stack Overflow用户
提问于 2012-11-29 15:24:31
回答 1查看 118关注 0票数 0

下面的代码用于更改一个字段的颜色:

代码语言:javascript
复制
<html>
  <head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
  </head>
  <body>
    <form></form>
    <form>
      <input name="thisone" />
    </form>
    <script language="javascript">
      var bkColor = "red";
      function getEvent(e){
        if(window.event != null) {
          return event;
        }
        return e;
      }
      function setBKColor(e){
        e = getEvent(e);
        var src =  e.srcElement || e.target;
        window.status="t";
        if(src != null) {
          src.style.bkColor = src.style.backgroundColor;
          src.style.backgroundColor = bkColor;
        }
      }
      function reSetBKColor(e){
        e = getEvent(e);
        var src =  e.srcElement || e.target;
        if(src != null) {
          src.style.backgroundColor = src.style.bkColor;
        }
      }
      function attachEvent(name,element,callBack) {
        if (element.addEventListener) {
          element.addEventListener(name, callBack,false);
        } else if (element.attachEvent) {
          element.attachEvent('on' + name, callBack);
        }
      }
      function setListner(eve,func) {
        var ele = document.forms[0].elements;
        for(var i = 0; i <ele.length;i++) {
          element = ele[i];
          if (element.name) {
            switch (element.name) {
              case 'thisone':
                attachEvent(eve,element,func);
            }
          }
        }
      }
      setListner("focus",setBKColor);
      setListner("blur",reSetBKColor);
    </script>

但是,当在更改颜色的字段之前有另一个表单时,代码将停止工作。因此,目前的HTML代码可能如下所示,以弥补不便之处:

代码语言:javascript
复制
<name="thisone">
<form></form>
<form></form>

现在,这段代码可以工作了。

但是如何使JS部分独立于<form>,而只依赖于文本字段的<Name>呢?

EN

回答 1

Stack Overflow用户

发布于 2012-11-29 15:31:02

将id添加到窗体中,并使用它来引用它

代码语言:javascript
复制
function setListner(eve,func) {
   var ele = document.getElementById("#formID").elements;

在DOM中使用表单索引是不可靠的访问其元素的方式

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13620759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档