如何按元素名称获取输入类型

时间:2013-03-07 15:16:17

标签: javascript javascript-events

有没有办法通过元素名称来获取输入类型

<form name="formQuestionnaire">
    <input name="age" type="radio" id="age-1" />
    <input name="age" type="radio" id="age-2" />
</form>

document.forms['formQuestionnaire'].elements['age']

返回收音机/复选框/文字

4 个答案:

答案 0 :(得分:5)

尝试

var x = document.forms['formQuestionnaire'].elements['age'];
x = x.length ? x[0] : x;
alert(x.type)

演示:Fiddle

答案 1 :(得分:0)

<input type="age" name="age" type="radio" />

...
var input = document.getElementById('age');
alert(input.type);

答案 2 :(得分:0)

您还可以获得type财产:

var type = document.forms["formQuestionnaire"].elements["age"].type;

这比使用getAttribute("type")要好一些,因为如果未定义type 属性(默认为text),后者会null },而type 属性返回text,应该如此。

答案 3 :(得分:0)

如果你想要多个元素。 Fiddle

&#13;
&#13;
var x = document.forms['formQuestionnaire'].elements['age'];

for(var i=0;i< x.length;i++){
    
var u = x.length ? x[i] : x;
    
    alert(u.type);
    
}
&#13;
<form name="formQuestionnaire">
    <input name="age" type="radio" id="age-1" />
    <input name="age" type="checkbox" id="age-2" />
</form>
&#13;
&#13;
&#13;