documentオブジェクトについて
以下ページを作成しました。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>テストページ</title>
</head>
<body>
<h1>テストページ</h1>
<p>筆記用具を3つ下に表示します。</p>
<script type="text/javascript">
<!--
document.write("鉛筆,消しゴム,定規");
-->
</script>
<hr>
<p>ボタンを押すと食べ物、飲み物を表示します</p>
<p><input type="button" value="表示" onclick="document.textarea1.value='米、パン、お茶"></p>
<p><textarea cols="40" rows="4" name="textarea1"></textarea></p>
<hr>
</body>
</html>
==============↑ここまで
質問:documentオブジェクトの使い方がわからないのです。
検証:動作を調べようとして以下検証しました
・検証1
上記ソース最後部分の、
<input type="button" value="表示" onclick="document.textarea1.value='米、パン、お茶">を
押すことで、textareaに「米、パン、お茶」を表示したいのですが、
documentがついたままだと、エラーを吐き、documentを抜いた、「textarea1.value」で実行するとエラーにならないのです。
なぜ、documentがあるとエラーになるのでしょうか。
documentは、現在表示されているページの全体をさしている(キャンバスみたいなかんじで)と認識しています。
そのドキュメント上にtextarea1があるので、document.textarea1.valueはエラーにならないと踏んだのです。
・検証2
次に、ドキュメント上にForm1をひとつ作成し、その中にテキストエリアを作成しました。
form1タグを付けたので、「document.form1.textarea1.value」と考え、実行したところ
textare1の中に、文字が表示されエラーにはなりませんでした。
・検証1と2より
よって、documentは、formがないとエラーになるのかと考えました。
●別項目学習中に
しかし参考書の途中別項目で、「document.three.src="画像ファイル"」
と、documentの次の「three」はimgタグのnameなのですが、エラーがでず実行されました。
なぜ、
「document.three」というのがきてもエラーにならないのでしょう。
・質問
「document.textarea1.value」と「document.three.src="画像ファイル"」では
何が違うのでしょうか。documnetの後ろに来てるものは、同じオブジェクトだと思うのですが。
テキストエリアタグと、imgタグで、documentの書き方が変わるのでしょうか。
どなたかお分かりの方がいらっしゃいましたら
ご教授お願いします。
お礼
ありがとうございます! 本当に助かりました! Z31さんこの御恩は忘れません!