アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちわ。

今、フレームを用いてホームページを作成しています。
そのなかでJavascriptを用いて複数のフレームを同時に変更しようとしているのですが、
上手く出来ません。Javascriptの参考書等を見るとフォームボタンをクリックした時に
複数のページを変更する方法はよく載っているのですが、gifの画像をクリックした時に
複数のページを同時に変更したいのです。
ご存知の方がいらっしゃいましたらご返答をお願いします。

ちなみに、参考書等に載っていたフォームボタンをクリックする場合の方法を書いておきます。
フレーム名はf1,f2,f3としていて、f1内のフォームボタンをクリックするとf2,f3が変更される
ものが載っていたのでその中のf1を書いておきました。
よろしくお願いします。

<HTML>
<HEAD>
<TITLE>F1.HTM</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function ChangFram(P1,P2){
parent.f2.location.href=P1
parent.f3.location.href=P2
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="CHANG">
<INPUT TYPE="button" NAME= "chang1" VALUE=" Change!! " onClick="ChangFram('FP2.HTM','FP3.HTM')">
<P>
<INPUT TYPE="button" NAME= "chang2" VALUE=" 元に戻す " onClick="ChangFram('F2.HTM','FP1.HTM')">
</FORM>
</BODY>
</HTML>

A 回答 (3件)

<img>タグや<a>タグで「onClick」を使用するのではなく、



<a href="javascript:ChangFram('FP2.HTM','FP3.HTM')"><img src="1.gif"></a>
<p>
<a href="javascript:ChangFram('F2.HTM','FP1.HTM')"><img src="2.gif"></a>

とすれば良いと思いますよ。
    • good
    • 0
この回答へのお礼

出来ました。

NO.2の方法でもNO.3の方法でも出来ました。
というより、両方とも試していたのですが出来なかったのです。

原因は違う個所だったようです。FRAMEのNAME内に-(ハイフン)を使用していたのですが、それを外したら出来るようになりました。
NAMEに使える文字にも制限があるのですね。

お答え下さった方、有難うございました&すみませんでした。

お礼日時:2002/01/18 14:57

古いブラウザ(NN4.x とか、IE4 とか)だと、<img> に onClick ハンドラがありません。



リンクにすればいけます。

<a href="#" onClick="ChangFram('FP2.HTM','FP3.HTM')"><img src=1.gif></a>
<p>
<a href="#" onClick="ChangFram('F2.HTM','FP1.HTM')"><img src=2.gif></a>

って感じ。リンクなので、フォームの中に書く必要はありません。

この回答への補足

ブラウザはNNもIEも新しいVersionを使用しています。

補足日時:2002/01/18 14:44
    • good
    • 0

 先ほど少しだけ試してみたのですが、画像、つまり<img>タグに対してもonClickのイベントはかけるはずですし、きちんと実行するはずですよね。


 ですのでボタンをクリックするのと何ら変わりは内科と思います。

 指定するフレームの名前は間違いありませんか?
 変更先のURLも間違いはありませんか?

 さらに、私が昔悩んだことがあるのは、<script>タグを書く位置です。
 常に<head>~</head>に書かなければいけないわけではないので、実行順とかをよく考えてやってみてはどうでしょうか?
 
 参考になるかどうかはわかりませんが、がんばってみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!