2013-03-07 5 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. Это очень хороший способ учиться. –

ответ

5

Попробуйте

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

Demo : Fiddle

+0

Спасибо, но если у вас есть более двух элементов, это не сработает! – Fury

+0

@VahidRajaei, который один –

+0

Я обновил свой вопрос. посмотрите на свою демонстрацию – Fury

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>

Смежные вопросы