- ベストアンサー
別フレームのフォームへの入力で
フレーム1(f1)のボタンを押すとフレーム2(f2)のテキストボックス(t1)に文章を入力するようにしたいのですが、 フレーム2のフォームに名前がついている時は(フォーム名はform1)、 parent.f2.form1.t1.value = "test"; で動作したのですが、フォームに名前がない場合に、 parent.f2.forms[0].t1.value = "test"; とした場合、「'parent.f2.forms.0'はNULLまたはオブジェクトではありません」とエラーが出てしまいます。 これを解消したいのですが、エラーの原因がわかりません。 教えてください。 よろしくお願いしますm(_ _)m
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
parent.f2.document.forms[0].t1.value = "test"; とすればOKです。
その他の回答 (1)
form1のformタグの前に、空っぽのformタグなどが入っていませんか? 試しにテストしてみましたが、form1が本当に0番目のformの場合は、全く問題なく動作しましたが、その前に空の(エレメンツの無い)formタグを入れたら、おっしゃるようなエラーが出ました。 もしくは、formのつづりが間違っているとか。(^^;; 違う場合は、HTMLソースを出してみた方がいいかもしれません。
補足
Prynneさん 回答ありがとうございますm(_ _)m >form1のformタグの前に、空っぽのformタグなどが入っていませんか? 入ってないですね(-_-;) ちなみにソースは以下のようになっています。 ■フレーム1(f1) <html> <head> <title>menu</title> <script langage="JavaScript"> <!-- function test1() { parent.f2.forms[0].t1.value = "test"; } // --> </script> </head> <body> menu<br> <form> <input type="button" onClick="test1()" value="test"> </form> </body> </html> ■フレーム2(f2) <html> <head> <title>main</title> </head> <body> main<br> <form> <input type="text" name="t1"> </form> </body> </html> すいませんが、再度よろしくお願いしますm(_ _)m
お礼
nontattaさん 回答ありがとうございますm(_ _)m documentを追加することで動作しました。 ありがとうございましたm(_ _)m