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
<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;

getAttribute("type")定義されていないtype 属性(デフォルトはtext)の場合、後者はを与えますがnulltype プロパティtextは本来あるべきようにを返すので、を使用するよりもいくらか優れています。

于 2013-03-07T15:18:33.020 に答える
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 に答える