要素名を使用して入力のタイプを取得する方法はありますか?
<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']
ラジオ/チェックボックス/テキストを返す
要素名を使用して入力のタイプを取得する方法はありますか?
<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']
ラジオ/チェックボックス/テキストを返す
試す
var x = document.forms['formQuestionnaire'].elements['age'];
x = x.length ? x[0] : x;
alert(x.type)
デモ:フィドル
<input type="age" name="age" type="radio" />
...
var input = document.getElementById('age');
alert(input.type);
プロパティを取得することもできtype
ます:
var type = document.forms["formQuestionnaire"].elements["age"].type;
getAttribute("type")
定義されていないtype
属性(デフォルトはtext
)の場合、後者はを与えますがnull
、type
プロパティtext
は本来あるべきようにを返すので、を使用するよりもいくらか優れています。
複数の要素が必要な場合。 フィドル
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>