- ベストアンサー
NNでうまく動きません
オプションボタンを使って、メニューを作りましたが、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)
- 専門家の回答
質問者が選んだベストアンサー
以下のようにすればいかがでしょう。 デフォルトのページが決まっているので、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; }
その他の回答 (1)
- Kizz
- ベストアンサー率47% (30/63)
はじめまして、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> ++++++ 一応参考までにお使い下さい。 んじゃ、がんばってみて下さいね。
お礼
ありがとうございました。とても丁寧に書いて下さって、問題も解決しましたが、気持ちも和みました。
お礼
ありがとうございました。早急に対応できて助かりました。