2013-03-07 58 views
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'] 

回報無線電/複選框/文本

+1

火了Chrome的控制檯(按F12鍵,單擊控制檯),並開始像'document.forms'輸入的東西,你會看到,你可以探索JavaScript的DOM API。這是一個很好的學習方式。 – 2013-03-07 15:22:07

回答

5

嘗試

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

演示:Fiddle

+0

謝謝,但如果你有兩個以上的元素,它不會工作! – Fury 2013-03-07 15:24:41

+0

@VahidRajaei哪一個 – 2013-03-07 15:26:40

+0

我更新了我的問題。看看你的演示 – Fury 2013-03-07 15:27:16

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

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

您還可以得到type屬性:

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

它比使用getAttribute("type")要好一些,因爲在非的情況下,定義type屬性(默認爲text),後者給出了null,而type財產返回text ,因爲它應該是。

0

如果你想要多個元素。 Fiddle

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>