6

とまたはの違いはthis.formありdocument.forms (document["forms"])ますか、それらは似ていますか?

違いをテストするために書いたコードを次に示します。

<form name="myForm" id="myForm">
<input type="text" name="haha" id="myForm" value="laughable" onclick="alert(this.form.haha.value)" />
</form>

alert(document.forms.myForm.haha.value);

どちらも同じ結果になります。

4

2 に答える 2

11

this.formフォーム要素のフォームが表示されます。(thisはフォーム要素です)

この要素がフォーム内にある場合は、それを含むフォーム要素。

document.formsドキュメント内のすべてのフォームが表示されます (サポートされている場合)。

forms は、現在のドキュメント内のフォーム要素のコレクション ( HTMLCollection ) を返します。

より良い使用document.getElementById(id)

var form = document.getElementById(formId);
于 2012-06-14T22:29:23.300 に答える
0

this.form上記のように、これのフォームプロパティを返します"this"

"this"何でもかまいません。div であるため、フォーム プロパティがない可能性があります。

"this"たまたま document を参照した場合、 はthis.formとまったく同じものを返しdocument.formます。しかし、そうでなければ、それを当てにしないでください。

于 2016-10-13T03:02:33.960 に答える