2016-10-26 9 views
-1

HTML5の "form"要素の "elements"属性が "object"要素を返します。 https://www.w3.org/TR/html5/forms.html#category-listedなぜform.elementsは "object"要素を返しますか?

しかし、私は "オブジェクト"要素をユーザー入力可能フィールドとみなすことはできません。なぜ "オブジェクト"が含まれていますか?

コード例:

<form id="form1"> 
    <object id="foobar"> 
    </object> 
</form> 

var form = document.getElementById('form1'); 
var elements = form.elements; 
for (var i = 0; i < elements.length; i++) { 
    console.log(elements[i].id); // outputs "foobar" 
} 
+1

? –

+0

私はそれが対話的なコントロールや関連を返すと期待しています。 "button"、 "input"、 "keygen"、 "select"、 "textarea"要素は対話型コントロールを表します。 "fieldset"はコントロールのコンテナです。 「出力」は「入力」と反対である。インタラクティブなコントロールに関連する要素として "オブジェクト"を考えることはできません。 – sunnyone

答えて

0

私は以下のスニペットは、物事を少し明確に願っています。

あなたは以下のコードを実行しているからわかるように、この形式の要素はObjectなどElementHTMLElementHTMLInputElementです。

優れた相続の世界へようこそ。あなたが返されることを期待しない何

var form = document.getElementById('form'); 
 
var elements = form.elements; 
 

 
for (var i=0; i<elements.length; i++) { 
 
    var element = elements[i]; 
 

 
    console.log("Element with name: " + element.name); 
 
    console.log("Element is Object: " + (element instanceof Object)); 
 
    console.log("Element is Element: " + (element instanceof Element)); 
 
    console.log("Element is HTMLElement: " + (element instanceof HTMLElement)); 
 
    console.log("Element is HTMLInputElement: " + (element instanceof HTMLInputElement)); 
 
}
<form id="form"> 
 
    <input name="text" type="text"> 
 
</form>

関連する問題