別のフレームのテキストにフォーカスがくるようにするには?
[上に]
[前に]
[次に]
ばーばぱぱ
1999/05/25(火) 13:12:44
たとえば、3つのフレームがあり、3のフレームにあるボタンをクリックしたとき、1にあるテキストにフォーカスがくるようにするには、どうしたらよいのでしょうか?
とりあえず、以下のようにしたのにうまくいきません。助けてください。
---------------------------------------------------------
<script language="javascript">
<!--
function focus(){
self.frames.document.FORM3.F3.blur();
Top.No1.document.FORM1.NenFrom.focus();
Top.No1.document.FORM1.NenFrom.select();
}
// -->
</SCRIPT>
たこすけ
1999/05/25(火) 18:06:59
> function focus(){
focus()はメソッドなので、違う関数名にしましょう。
> Top.No1.documen...
フレームの構造がどうなっているのか分からないのですが
parent.No1.document... だと思います。(あと、Topではなくtop)
ばーばぱぱ
1999/05/26(水) 09:44:02
parent.No1.documentとして行うと
「parentが宣言されていません」となってしまう。
parentをtopにしてやっても同じようなエラーになってしまいます。
どこで宣言すればよいのかわかりません。
教えてください。
Nobu3
1999/05/26(水) 10:29:05
3つのフレーム、「No1」「No2」「No3」があって、
「No1」フレームの「FORM1」フォームの「NenFrom」エレメントにフォーカスをあてて、選択状態にする。ってことですか?
ならば。
まず、「No3」フレームにスクリプトを書いてますか?
次に、「関数名」は変更しましたか?
最後に、フレームなどの名前はちゃんとあってますか?
あと、「blur()」の文は必要ありません。というか、無い方が良いでしょう。
以上を守れば、IE4、NN4では動作します。
ばーばぱぱ
1999/05/26(水) 12:51:05
Nobu3に指摘された通りに関数名を変更し、blur()も削除して
[No3]フレームにちゃんとスクリプトを書いているのにparentが
宣言されていませんになってしまいます。
以下のようにスクリプトを変更したのですが、
おかしなところがあれば教えてください。
-----------------------------------------
フレームの構成
<FRAME src="ParentFrame.htm" name="No1" frameborder="0" noresize>
<FRAME src="Kihon.htm" name="No2" frameborder="0" noresize>
<FRAME src="Function.htm" name="No3" frameborder="0" noresize>
----------------------------------------
No3フレームのスクリプト
<script language="javascript">
<!--
function warp(){
Parent.No1.document.FORM1.NenFrom.focus();
}
// -->
</script>
-------------------------------------------
よろしくお願いします。
Nobu3
1999/05/26(水) 12:56:27
原因は「Parent」ですね。
スクリプトは大文字、小文字を正確に書かないとダメです。
「parent」と書きましょう。
ばーばぱぱ
1999/05/26(水) 13:24:18
[[解決]]
Nobu3ありがとうございます。
やっとできました。大文字、小文字でだいぶ違うんですね。
やはり、このラウンジは勉強になります。
本当にありがとうございました。(涙)
maeda
[E-Mail]
1999/05/26(水) 15:34:51
えぇと、解決しているようですが、一点だけ。
<SCRIPT>タグの「LANGUAGE」属性は、「javascript」ではなく、
「JavaScript」と記述しなければならなかったと思いますが。
それとも、どちらでもいいんでしたっけ?
Nobu3
1999/05/26(水) 15:54:37
どちらでもかまわないようです。
<script language="javascript">
<!--
msgbox "javascript"
//-->
</script>
<script language="JavaScript">
<!--
msgbox "JavaScript"
//-->
</script>
<script language="vbscript">
<!--
msgbox "vbscript"
//-->
</script>
こんなスクリプトを書いたら、上の2つはJavaScriptとしてエラーが出ましたので・・・。
IE4だけで確認しました。
[上に]
[前に]
[次に]