求教js问题。获取input 的name值

有段代码如下
<form id="form1" name="form1">
<input name="n1" type="text" />
<input name="n3" type="text" />
<input name="n4" type="text" />
</form>
我需要效果就是点击其中一个输入框 ,弹出这个框的name值。

!要求不能更改html代码。因为input很多。不好每个都写个onclick。尽量不用JQ

第1个回答  2014-03-11
有三种方法:
document.getElementById();//通过ID属性获取
document.getElementsByName();//通过name属性获取
document.getElementsByTagName();//通过标签名获取
由于你给上没的Input标签中没设置id和name属性,所以直接通过标签名取值
var temp = document.getElementsByTagName("input");
注意 你此处的Input有多个,所以temp存储的是所有的Input的类容,即获得的是数组。
如要单个获取,可Input设置不同的ID或者name.
第2个回答  推荐于2016-12-02
window.onload = function(){
    var inputs = document.form1.getElementsByTagName("input");
    for(var i = 0; i < inputs.length; i++) {
        inputs[i].onclick = function(){
            alert(this.name);
        };
    }
};

本回答被提问者和网友采纳
相似回答