• ベストアンサー

ラジオボタンの値でリンク先を変える

ラジオボタンのvalueの値があり、 submitボタンを押したら、その値によって リンク先を変えたいのですが、 具体的にソースで教えていただけないでしょうか?

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

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.4

同じ name 値のオブジェクトが複数ある場合、それらは配列扱いとなるので No.1 の方法では処理できません。 このような場合はループでラジオボタンを1つずつ見て、checked プロパティが true のものを探して処理します。 また、HTML に checked が書かれているラジオボタンが1つもなければ、どれもチェックされていない時の処理も必要になります。 それと、リンク先変更関数の呼び出しについてですが、送信処理に関する関数の呼び出しは必ず FORM タグの onSubmit で行うようにします。 でないと、ラジオボタンにフォーカスがある時に Enter キーによって送信されてしまうのをチェックすることができません。 以下、それらを踏まえたサンプルです。 # スクリプト部 (インデントなどに全角空白を使用しているので、コピペの際は注意!) // ラジオボタンに対応するURLの配列 var actions = new Array(   "URL1",   "URL2" ); function setAction(f) {   for (var i = 0; i < f.rb1.length; i++) {     if (f.rb1[i].checked) {       f.action = actions[i];       return true;  // true を返すと送信される     }   }   // ラジオボタンがチェックされていない時の処理   ※以下参照 } ※エラーにする場合   alert("ラジオボタンをチェックしてください。");   return false;  // false を返すと送信されない ※デフォルトの送信先に飛ばせる場合   f.action = "デフォルトのURL";   return true;    # フォーム部 <FORM onSubmit="return setAction(this)"> <INPUT type="radio" name="rb1" value="a">aaa<br> <INPUT type="radio" name="rb1" value="b">bbb<br> <INPUT type="submit"> </FORM> 下記ページも参考になります。 http://tohoho.wakusei.ne.jp/js/form.htm#ElmButton

参考URL:
http://tohoho.wakusei.ne.jp/js/form.htm#ElmButton
arisa5
質問者

お礼

ありがとうございます! うまくいきました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.5

#4さん ご指摘、ごもっともでございます。 たびたび、回答しておきながら、間違いをお教えしてしまって申し訳ありません。 テストしないで、業務片手間で答えてしまったので間違いをそのまま記入しておりました。 ※管理者様、見ていらしたら私の回答をすべて削除してください。質問者の方や他の閲覧者の方が混乱してしまいます。

全文を見る
すると、全ての回答が全文表示されます。
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.3

すいません、逆に名前指定しないと下記ソースは動きません・・・。 <input type ="radio" value="0" name="rb1"> aaa <br> <input type ="radio" value="1" name="rb1"> bbb <br> です。たびたびごめんなさいです^^;;;

全文を見る
すると、全ての回答が全文表示されます。
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.2

#1です。 失礼しました。 <input type ="radio" value="0"> aaa <br> <input type ="radio" value="1"> bbb <br> ですね^^;;

arisa5
質問者

補足

答えていただき、ありがとうございます。 リンク先に飛ぶ時に、ラジオボタンの値も 引継ぎたいので、ラジオボタンにnameを 指定したのですが、そのせいかうまくいきません。 ラジオボタンに名前が付いている場合も 教えていただけますか?

全文を見る
すると、全ての回答が全文表示されます。
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.1

ちょうど今、似たような処理を作ってましたw -------------------------- <script type="text/javascript"> <!-- function SubmitChange() { if (document.mf.rb1.value="0" ) document.mf.action = "aaa.html"; else document.mf.action = "bbb.html"; } // --> </script> ------------------------ <form method="post" action="" name="mf"> <input type ="radiobuton" value="0"> aaa <br> <input type ="radiobuton" value="1"> bbb <br> <input type="submit" onClick="SubmitChange();"> </form> ------------------------ こんな感じです。 分からないところがあれば補足で書いてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 選択したたラジオボタンの値をSUBMITボタンに

    選択したたラジオボタンの値をSUBMITボタンの名前として自動的に替えたいのですが、助言をいただけますか。 イメージは下記です。★の部分に、クリックごとにradioの値を入れたいのです。 <script Language="JavaScript"><!-- function set() { n = document.myFORM.Radio.value; } // --> </script> <FORM ACTION="add.cgi" METHOD="POST" name="myFORM"> <INPUT TYPE="RADIO" NAME="Radio" VALUE="東京" onclick="set()" CHECKED> <INPUT TYPE="RADIO" NAME="Radio" VALUE="大阪"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="★"></form>

  • ラジオボタンの値を・・・・・

    <html> <head> <script language="javascript"> function osu(){ document.form1.text1.value=document.form1.radio1.value; } </script> </head> <body> <form name="form1"> <input type="radio" name="radio1" value="男" checked>男 <input type="radio" name="radio1" value="女">女 <input type="button" value="押す" onClick="osu()"> <input type="text" name="text1"> </form> </body> </html> ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 上記のプログラムは、選択されたラジオボタンの値をテキストボックスに表示させるプログラムなんですが、何故かラジオボタンの値が表示されず、「undefined」というのが表示されます。 どうすれば、「男」または「女」という値を表示させることができますか? ちなみにこれは、「○○○.html」で保存します

  • ボタンとラジオボタンの連動

    「男性です」「女性です」のボタンを押すと、ラジオボタン「男性」「女性」がチェックされるページを作成しています。 ボタンとラジオボタンそれぞれのソースは、 <p><input type="submit" value="男性です" name="man"></p> <p><input type="radio" value="1" name="seibetsu"<?php if($man)<ここがわかりません>?>>男性 </p> を考えていますが、ボタンをクリックするとそれに対応したラジオボタンに勝手にチェックが入る連動のPHPソースの書き方がわかりません。 どなたかご教授ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ラジオボタンを使ってリンクするには?

    ラジオボタンを押すと、リンク先へつながるようにサイトを作りたいです。 ラジオボタンの名前は『○○○』 リンク先URLを『http://www.△△△.com』 とするとどのようにタグを作ったらよいでしょうか? お分かりの方是非教えてください!

  • ラジオボタンとリストで得た値からリンク

    ラジオボタン(01から03)とリストで得た値(01から14)を合成して得られるファイル名(0114.htmlなど)へリンクさせたいのですが可能でしょうか?複数のラジオボタンからの指定でリンクさせる方法をこちらで見つけ、大いに参考にさせていただいていたのですが(QNo.3026823、noname#31047さんの御回答)、これからの改良であれこれやってみていますがうまくいきません。そもそもこのような発想に無理があるのでしょうか?ご教示くださいますと幸いです。

  • ラジオボタンの値を関数へわたすには?

    初心者です。 現在以下のような方法で関数へ値をわたしています。 <input type="button" value="検索" onclick="upLoad(this.form.com.value,this.form.time.value,this.form.day2.value)" name="saveposision"> しかし、ラジオボタンの値だけうまくわたりません。 ラジオボタンの値を関数へわたすにはどのようにしたらよいでしょうか? また、この値の渡し方は長々と表記しないといけないですが、なにか他に短く、セキュリティホールにならない方法はあるでしょうか?

  • ラジオボタンのことについて。

    はじめましてm(__)m ラジオボタンについての質問なのですが。 いま、フレームを横に3つに分けているのですが。 最上段のフレームのところにラジオボタンでリンクし最下段にリンクさせたいのですがまずラジオボタンを作りますよね? <INPUT TYPE=radio VALUE=★.html onClick=location.href=this.value>リンク それで星のところにURLを入れボタンを作るまではわかったのですが。 そのあとどうやってフレーム最下段にリンクさせればいいのでしょうか? <INPUT TYPE=radio VALUE=★.html"target="shita" onClick=location.href=this.value> でtarget="shita"というのも書いてみたのですが・・ やはり出来なくて質問させていただきました。 どうぞご指導のほどよろしくお願いしますm(__)m

    • ベストアンサー
    • HTML
  • ラジオボタンでフォームの送信先を切り替える

    <script type="text/javascript"> <!-- function setDisabledTextbox(F,N1,N2,N3) { if(N1 == "OrderPayment0") { F[N2].disabled = true; F[N3].disabled = false; } else { F[N2].disabled = false; F[N3].disabled = true; } } //--> </script> //フォームの1の記述 <form method="post" action="送信先1"> //ラジオボタン1の記述 <input type="radio" name="payment1" value="値1" onclick="setDisabledTextbox(this.form,this.id,'tbox0','tbox1')" <?php if($payment_name == "値1") echo "checked"; ?> id="OrderPayment0" /> <label for="OrderPayment0">値1</label><br /> //ラジオボタン2の記述 <input type="radio" name="payment2" value="値2" onclick="setDisabledTextbox(this.form,this.id,'tbox0','tbox1')" <?php if($payment_name == "値2") echo "checked"; ?> id="OrderPayment1" /> <label for="OrderPayment1">値2</label><br /> 送信1の入力フォームの記述 <input type="submit" name="tbox0" value="送信1" disabled /> </form> //フォームの2の記述 <form method="post" action="送信先2"> 送信2の入力フォームの記述 <input type="submit" name="tbox1" value="送信2" disabled /> </form> 上記の記述で、最初、送信ボタン1及び送信ボタン2をdisabled状態にしておいて、ラジオボタンの1が押されたら送信ボタンの1を活性化、ラジオボタンの2を押したら送信ボタンの2を活性化するというように切り替えたいのですが、今のところ送信ボタンの1の切り替えはうまくいっているのですが、送信ボタンの2の方がdisabledされたままにまります。フォームの有効範囲の問題かな?と思って、ラジオボタンの2の記述をフォームの2の記述の方に移してみたりしたのですが、結果は同じようです。 両方とも切り替えるようにするには、どのように記述すればよいのでしょうか? 御教示願えればと思います。

  • ラジオボタンを選択して送信ボタンを押した時点でリンク先とフレーム先を指定する場合?!

    ラジオボタンを選択して送信ボタンを押した時点でリンク先とフレーム先を指定する場合どのような方法が考えられるのか教えて頂けないでしょうか? 方法としては if文を使いラジオボタンの値で区別してリンクを飛ばす方法を考えました。 問題はリンクを飛ばす時のことです。 リンクを飛ばす事は出来たのですが、指定フレームに飛ばす方法が分かりません。 同のような方法で出来るか教えて頂けないでしょうか? お願いします。

    • 締切済み
    • CGI
  • ラジオボタンによる有効なボタンの切り替えについて

    はじめまして。 下記のような機能を実装したいと思っています。 どなたか教えていただけませんでしょうか? <html> <head> <title>サンプル</title> </head> <input type="radio" name="radio1" value="a">A <input type="radio" name="radio1" value="b">B <input type="radio" name="radio1" value="c">C <input type="radio" name="radio1" value="x">全部ダメ <br><br> <input type="button" value="Aボタン"> <input type="button" value="Bボタン"> <input type="button" value="Cボタン"> </body> </html> ラジオの「A」を選択すると「Aボタン」のみ有効で他は無効(disabled)になり 「B」を選択すると「Bボタン」のみ有効というように、 選択したラジオボタンの値と有効なボタンを連動させたいのです。 さらに、ラジオの「全部ダメ」を選択すると全てのボタンを無効としたいです。 ラジオボタンの値の取得のjavascriptなど個々の機能について調べてみたりしたのですが どのように組み合わせれば、機能を実現できるのかわかりませんでした。 お手数ですが、ご教示いただけますでしょうか。。 可能ならばソースのサンプルをいただけるとありがたいのですが。 どうぞよろしくお願いいたします。