<input name=a onclick="alert(document.getElementsByTagName('INPUT')[event.srcElement.tabIndex+1].name);">
<input name=b>

解决方案 »

  1.   

    是这样的,可能是任一表单元素,不完全是input
      

  2.   

    试试
    alert(event.srcElement.childNode.name)
      

  3.   

    obj.nextSibling;//下一个元素
    obj.previousSibling;//上一个元素
      

  4.   

    我不懂,表单元素算节点吗,得到的nodeName都是#text,nodeType都是3<input name=a onclick=x() id=a1 value=1>
    <input name=b onclick=x() id=b1 value=2>
    <input name=c onclick=x() id=c1 value=3>
    <select name=d onclick=x() id=d1><option  value=4 >kkk</select><script>
    function x()
    {
    var oWorkItem=event.srcElement;
    if(oWorkItem.previousSibling)
    {
    var sName=oWorkItem.previousSibling.nodeName;
    alert(sName);
    } else{alert(false);}
    }
    </script>
      

  5.   

    因为input之间有了回车,把它们连续起来就不会了
      

  6.   

    懂了,
    我不懂,用节点是否可直接取到表单元素名,还是还要加上tabIndex值取
      

  7.   

    tagIndex你要赋值才能那样做节点是否可直接取到表单元素名
    不明白你的意思,元素取到了,obj.name不就是元素名??
      

  8.   

    不好意思,是我搞错,
    如果取第n个元素,是否只能用event.srcElement.parentNode.childNodes[n].name