プロが教えるわが家の防犯対策術!

オプションボタンを使って、メニューを作りましたが、NNでうまく動きません。「checked」で初期値を指定しているので、そのまま「選択」ボタンを押した場合のために「form」に「value」でURLを指定したのですが、認識されません。(IEでは問題ありません)オプションボタンをクリックしなおして、「選択」ボタンをクリックするとジャンプします。
ソースを書きますので、宜しくお願いします。

<html>
<head>
<title>メニュー</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function change(){
parent.location=document.menu.value;}
// -->
</SCRIPT>
</head>

<body>
<tableborder="0">
<tr><td>
<form name="menu" value="http://www.goo.ne.jp">
<input type="radio" name="sate" onClick="menu.value='http://www.goo.ne.jp'" checked>GOO<br>
<br>
<input type="radio" name="sate" onClick="menu.value='http://www.yahoo.co.jp'">YAHOO<br>
<br>
<input type="button" value="選択" onClick="change()">
</form>
</td></tr>
</table>
</body>
</html>

A 回答 (2件)

以下のようにすればいかがでしょう。


デフォルトのページが決まっているので、valにデフォルトページを記述。
document.menu.valueが存在する時は、そのページをセット。
無い場合は、デフォルトのVALを表示。

var val='http://www.goo.ne.jp';
function change(){
if(document.menu.value) parent.location=document.menu.value;
else parent.location=val;
}
    • good
    • 0
この回答へのお礼

ありがとうございました。早急に対応できて助かりました。

お礼日時:2002/01/29 09:35

はじめまして、chebさん。



上記コードちょっとみてみました。
そこで、「1.うごかしてみました」「2.属性 cheked と onClick="" について」
「3.参考までにこんな風にもできますよ」、 をしたに書きますね。

====
1.Windows IE5.5 と Netscape4.7 でうごかすとどちらも初期(radioクリックなし)
  ではうまくジャンプしませんでした。
  #IEではいくという事でしたけど、この環境でみた所は駄目なもようです。

2.
  checked : は、初期の時点のradioのON表示の指定
  onClick(): は、そのradioがマウスなどでクリックされた場合におこなうことを
        定義しておくこと。

  その為、私の理解の上では、checked をたてても、クリックイベントは発生しない
  ので、onClick()で定義した処理は実行されないと思います。

3.参考のコード。
  やりたいことを実現する方法(コードの書き方)は色々あるとおもいますけど、1例
  として書いておきますね。
  #javascriptがちょっと長くなりますけど。
  #またradioが2つ限定な書き方になってます(数をみてループするようにもできますけど、
   今回は簡単にで。

+++++

<html>
<head>
<title>メニュー</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function change(){
var url = "";
if( document.menu.sate[0].checked == 1 )
url = document.menu.sate[0].value;
else if( document.menu.sate[1].checked == 1 )
url = document.menu.sate[1].value;

if( url != "" )
location.href=url;
}
// -->
</SCRIPT>
</head>

<body>
<tableborder="0">
<tr><td>
<form name="menu" >
<input type="radio" name="sate" value="http://www.goo.ne.jp" checked>GOO<br>
<br>
<input type="radio" name="sate" value="http://www.yahoo.co.jp">YAHOO<br>
<br>
<input type="button" value="選択" onClick="change()">
</form>
</td></tr>
</table>
</body>
</html>

++++++

一応参考までにお使い下さい。
んじゃ、がんばってみて下さいね。
    • good
    • 0
この回答へのお礼

ありがとうございました。とても丁寧に書いて下さって、問題も解決しましたが、気持ちも和みました。

お礼日時:2002/01/29 09:38

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