OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

NNでうまく動きません

  • すぐに回答を!
  • 質問No.207239
  • 閲覧数28
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 74% (20/27)

オプションボタンを使って、メニューを作りましたが、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>
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル14

ベストアンサー率 24% (612/2465)

以下のようにすればいかがでしょう。
デフォルトのページが決まっているので、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;
}
お礼コメント
cheb

お礼率 74% (20/27)

ありがとうございました。早急に対応できて助かりました。
投稿日時 - 2002-01-29 09:35:26
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル9

ベストアンサー率 47% (30/63)

はじめまして、chebさん。 上記コードちょっとみてみました。 そこで、「1.うごかしてみました」「2.属性 cheked と onClick="" について」 「3.参考までにこんな風にもできますよ」、 をしたに書きますね。 ==== 1.Windows IE5.5 と Netscape4.7 でうごかすとどちらも初期(radioクリックなし)   ではうまくジャ ...続きを読む
はじめまして、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>

++++++

一応参考までにお使い下さい。
んじゃ、がんばってみて下さいね。
お礼コメント
cheb

お礼率 74% (20/27)

ありがとうございました。とても丁寧に書いて下さって、問題も解決しましたが、気持ちも和みました。
投稿日時 - 2002-01-29 09:38:10
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ