クリッカブルマップでonMouseOver+OnClick

[上に] [前に] [次に]
じゃむじゃむ [E-Mail] 1999/11/23(火) 22:45:22
クリッカブルマップで、
マウスを重ねるとテキストエリアにヘルプが表示され、
さらにクリックすると、セレクターが切り替わる。
というものを作っています。
ところが、IEでは完全に動くものの、NN4.5ではまったく動きません。
いろいろやってみたのですが、どうしてもダメです。
どなたか解決策を教えてください。
 # もしかしてNNはnohrefに対応していない?

http://kankyo.aae.kagoshima-u.ac.jp/~freude/test/123.htm
このURLにあります。

念のためソースコード
<!doctype html public "-//w3c//dtd html 4.0//en">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=shift_jis">
<title></title>
<script type="JavaScript">
<!--
//-->
</script>
</head>
<body>

<img src="Image1.gif" width=300 height=300 usemap="#map_Image1.gif">

<map name="map_Image1.gif">
<area shape="circle" coords="149,81,54" nohref="kiiro"
onMouseOver="help.help.value='黄色エリアを選択';return true"
onMouseOut="help.help.value=''"
onClick="form.select0.value='1'">
<area shape="circle" coords="70,221,56" nohref="ao"
onMouseOver="help.help.value='青色エリアを選択';return true"
onMouseOut="help.help.value=''"
onClick="form.select0.value='2'">
<area shape="circle" coords="228,220,57" nohref="midori"
onMouseOver="help.help.value='赤色エリアを選択';return true"
onMouseOut="help.help.value=''"
onClick="form.select0.value='3'">
</map>

<FORM NAME="help">
<TEXTAREA NAME="help" ROWS="2" COLS="30"></TEXTAREA>
</FORM>

<FORM NAME="form" ACTION="***" METHOD="post">
<SELECT NAME="select0">
<OPTION value="1">黄
<OPTION value="2">青
<OPTION value="3">赤
</SELECT>
<input type="submit">
</FORM>

</body>
</html>

きたむら 1999/11/26(金) 01:39:51
nohref="kiiro"などの代わりに、href="kiiro"とするのはだめでしょうか。
onClickでfalseを返せばクリックに対して無反応にできます。
(ただしhrefだと、IE5の場合、マウスオーバー時にステータスバーに
メッセージ表示されちゃいますが)

あと、NN4ではリストボックスの選択状態を変えるのに
form.select0.value='1' が使えないようです。
form.select0.selectedIndex=0 と書くとNN4でもIE5でも動作しました。

じゃむじゃむ [E-Mail] 1999/11/26(金) 02:42:55
[[解決]]
きたむらさん、ありがとうございます。
解決できました!
こんな方法があったとは! 全然気づきませんでした。

form.select0.selectedIndex=0 で
<OPTION value="1">黄 が選択状態になるのですね。(@o@)
1なら2 2なら3
ええ?どうして??
甘えすぎかも知れませんが、
このことについても教えていただけたら、
ありがたいです。

きたむら 1999/11/28(日) 02:34:05
〜.value='hoge' は、valueが'hoge'であるようなリスト項目を選択し、
〜.selectedIndex=n は、リストの先頭を0番として、n番めの項目を選択します。

今回の場合、OPTIONのvalueが'1','2','3'なのでわかりにくいのですが、
一般には、<option value="kiiro"> などと文字のvalueを設定して、
form.select0.value='kiiro' のようにリストを選択するわけです。

#2日もたってるので遅いかなと思いましたが、念のため書きました。
#あとで過去ログを読む人のため<自分も含む<きっと半年後には忘れてる

じゃむじゃむ 1999/11/30(火) 04:26:02
きたむらさん、ほんとうにありがとうございました。
リスト先頭が0というのは、固定だったのですね。

この世界、かなり勉強が必要ということが分かりました。
僕などかなり初級の部類(^^;;
また今度、ご教授いただけたら幸いです。

[上に] [前に] [次に]