- ベストアンサー
右フレームのテキストに、値を入れ込む
左20%・右80%と言うようにフレームを切ってあります。 左のフレームにボタンがありまして、それを押すとJavaScript が動き出し、右のフレームにあるテキストのValueに「AAA」と 入れ込みたいんです。 ブランクが空いてしまったため、やり方を忘れてしまったようです。 一応下記のやり方でよかったような気がしたんですが、でも出来な いので当然間違っています。 function Text(){ parent.main.window.document.Myform.txt1.value = "AAA"; } お手数ですがよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
サンプルを作ってみました。次の三つのHTMLから成ります。 ・index.html ・left.html ・right.html IE5.5とNetscape4.75で確認しました。お試しください。 ---------- index.html ---------- <HTML> <HEAD></HEAD> <FRAMESET cols="20%,80%"> <FRAME src="left.html" name="leftFrame"> <FRAME src="right.html" name="rightFrame"> </FRAMESET> </HTML> -------------------------------- ---------- left.html ----------- <HTML> <HEAD> <TITLE>左フレーム</TITLE> <SCRIPT language="JavaScript"> <!-- function Text() { parent.rightFrame.document.Myform.txt1.value = "AAA"; } // --> </SCRIPT> </HEAD> <BODY> <FORM name="dummy"> <INPUT type="button" value="押してね♪" onClick="Text()"> </FORM> </BODY> </HTML> -------------------------------- ---------- right.html ---------- <HTML> <HEAD> <TITLE>右フレーム</TITLE> </HEAD> <BODY> <FORM name="Myform"> <INPUT type="text" name="txt1"> </BODY> </HTML> --------------------------------
その他の回答 (1)
- b-takeda
- ベストアンサー率33% (7/21)
>parent.main.window.document.Myform.txt1.value = "AAA"; ここに出てくる"main"は対象フレームの名前ですよね? だとしたら次のようにすれば良いと思います(確認はしてません)。 window.parent.main.document.Myform.txt1.value = "AAA"; windowはparentよりも上位のオブジェクトなので、頭に書く必要が あります。ちなみにwindowは省略できます。
お礼
どうもありがとうございます。 >windowはparentよりも上位のオブジェクトなので 言われてみればそうでしたね。ブランクと言うのは恐ろしいですね。 そんな初歩的なことまで忘れてしまうのですから・・・ 頭をもう一度昔に戻す良いきっかけになりました。 ありがとうございました。
お礼
ご丁寧にありがとうございます。 ある所でミスをしていたせいでダメだったみたいです。 ですが、ミスを見つけるいいきっかけを作って頂いて 助かりました。