0

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

<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

4 回答 4

5

尝试

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

演示:小提琴

于 2013-03-07T15:17:48.760 回答
0

如果你想要多个元素。 小提琴

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);
    
}
<form name="formQuestionnaire">
    <input name="age" type="radio" id="age-1" />
    <input name="age" type="checkbox" id="age-2" />
</form>

于 2015-04-23T13:34:09.863 回答
0
<input type="age" name="age" type="radio" />

...
var input = document.getElementById('age');
alert(input.type);
于 2013-03-07T15:18:30.023 回答
0

您还可以获得type财产:

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

它比 using 好一些getAttribute("type"),因为在未定义type 属性的情况下(默认为text),后者给出null,而type 属性返回text,因为它应该是。

于 2013-03-07T15:18:33.020 回答