ラジオボタンで色を選択し、ボタンを押すと色が変わるJavaScriptの実装方法

このQ&Aのポイント
  • JavaScriptを使用して、ラジオボタンで色を選択し、ボタンを押すと指定した色に変わるようにする方法を教えてください。
  • 質問者はGoogle Chrome最新版を使用していますが、Firefoxでも対応できる方法を知りたいとのことです。
  • 具体的な要件として、ラジオボタンで色を選択し、変更ボタンを押すと指定した色に変わるように実装したいと考えています。
回答を見る
  • ベストアンサー

色をラジオボタンで選択

エレメントでボタンを押すと色を変えるJavaScriptです。 検索をしながら ボタンで一度変えることはできるようになりましたが <script type="text/javascript"> function effect() { var element = document.getElementById("sample"); element.style.color = '#000000'; } </script> <button onclick="effect()">チェンジ</button> <span id="sample">■□□■</span> ラジオボタンで選択するようにしたいのですが どのようにすればよいでしょうか? うまくいく方法を教えてください。 ブラウザーはGoogle Chrome最新版です。 どうしてもできなければ Firefoxでもかまいません。 <script type="text/javascript"> function effect() { var element = document.getElementById("sample"); element.style.color = '#000000'; } </script> <input type=radio name="colorcode" value="#000000" checked>黒 <input type=radio name="colorcode" value="#ff0000">赤 <input type=radio name="colorcode" value="#00ff00">緑 <span id="sample">■□□■</span>

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

  • ベストアンサー
  • drg75
  • ベストアンサー率34% (98/288)
回答No.2

<script type="text/javascript"> function effect(color) { var element = document.getElementById("sample"); element.style.color = color; } </script>

synchro-night
質問者

お礼

解答を参考にして 操作できるソースができました。 まだ、JavaScriptの基本がわかっていないので 勉強して 研究してみます。

その他の回答 (1)

  • drg75
  • ベストアンサー率34% (98/288)
回答No.1

以下でどうでしょうか。 effectに引数でvalueを渡せるような 修正が必要となります。 <input type=radio name="colorcode" value="#000000" checked onclick="effect(this)">黒 <input type=radio name="colorcode" value="#ff0000" onclick="effect(this)">赤 <input type=radio name="colorcode" value="#00ff00" onclick="effect(this)">緑

参考URL:
http://eelife.cool.ne.jp/java/botan/rajio_smp.html
synchro-night
質問者

お礼

解答ありがとうございます。 >effectに引数でvalueを渡せるような >修正が必要となります。 どうやってやればよいのでしょうか? 勉強中で わかりません。 申し訳ないです。 サンプルだと id指定できないです <script language="JavaScript"> <!--eelife function clr(Color){ clrs = Color; document.fgColor = clrs; } // --> </script> <form> <input type="radio" checked name="ra" onclick="clr('#000000')">:黒&nbsp; <input type="radio" name="ra" onclick="clr('#ff0000')">:赤&nbsp; <input type="radio" name="ra" onclick="clr('#0000ff')">:青&nbsp; <input type="radio" name="ra" onclick="clr('#00ff00')">:緑 </form> <span id="sample">■□□■</span> <span>■□□■</span> このようにidで指定したものを変更したいのです。 <script type="text/javascript"> function effect() { var element = document.getElementById("sample"); element.style.color = '#ff0000'; } </script> <button onclick="effect()">チェンジ</button> <span id="sample">■□□■</span> <span>■□□■</span> なお サンプルは 下記サイトより引用しました。 http://javascriptist.net/ref/element.style.color.html 紹介いただいたサイト(http://eelife.cool.ne.jp/java/botan/rajio_smp.html)の類似サイトは http://allabout.co.jp/gm/gc/23787/ が ありましたが このままではidで指定できないようです。

関連するQ&A

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

    はじめまして。 下記のような機能を実装したいと思っています。 どなたか教えていただけませんでしょうか? <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など個々の機能について調べてみたりしたのですが どのように組み合わせれば、機能を実現できるのかわかりませんでした。 お手数ですが、ご教示いただけますでしょうか。。 可能ならばソースのサンプルをいただけるとありがたいのですが。 どうぞよろしくお願いいたします。

  • 選択されたラジオボタンの値が取り出せない

    フォームを使って普通のHTMLで記述すれば選択された値が 送られてくると思うのですが、エレメントを作って次のような やり方だと、「2」を選択したとしてもvalueが「1」しか返ってきません。 どうすれば適切に値を取り出すことができるのでしょうか? var element1 = document.createElement("span"); element1.innerHTML = "<input type='radio' name='a' value=1>"; document.body.appendChild(element1); var element2 = document.createElement("span"); element2.innerHTML = "<input type='radio' name='a' value=2>"; document.body.appendChild(element2); ~何かクリックした先でidが「a」のオブジェクトを取得し、選択されてた値を取り出したい~ var ele = document.getElementById("a"); alert(ele.value);←1しか表示されない

  • 選択したたラジオボタンの値を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>

  • ラジオボタン選択で「複数ラジオボタン」をアクティブにするには?

    ■下記サンプルソースのラジオボタンの「はい」を選択すると複数のラジオボタンがアクティブになるJavaScriptがわからず困っております。教えて頂けないでしょうか。 (ページ開いた際は「いいえ checked」で複数ラジオボタンはグレーで選択無効) 用途はアンケートフォームです。 可能であればシンプルなソースで「最新のWinIE、MacSafari」に対応していると非常に助かります。先輩方よろしくお願いします。 <form name="form2" method="post" action=""> <table> <tr> <td>■「はい」を選択すると、ラジオボタン(カテゴリー1~4)がアクティブになる。 </td> </tr> <tr> <td> <input name="radiobutton" type="radio" value="radiobutton">はい <input name="radiobutton" type="radio" value="radiobutton" checked>いいえ </td> </tr> <tr> <td> <input name="radiobutton" type="radio" value="radiobutton">カテゴリー1 <input name="radiobutton" type="radio" value="radiobutton">カテゴリー2 <input name="radiobutton" type="radio" value="radiobutton">カテゴリー3 <input name="radiobutton" type="radio" value="radiobutton">カテゴリー4 </td> </tr> </table> </form>

  • JavaScript フォームでのラジオボタン制御

    JavaScript初心者です。 <input name="sample1" value="左ラジオボタン" checked="checked" type="radio"> 左ラジオボタン <input name="sample1" value="右ラジオボタン" type="radio">右ラジオボタン 右ラジオボタンをクリックした場合に下記のラジオボタンをクリックできる <input name="sample2" value="1" type="radio">1 <input name="sample2" value="2" type="radio">2 <input name="sample2" value="3" type="radio">3 <input name="sample2" value="4" type="radio">4 上記のように右ラジオボタンにチェックした時だけ1~4のラジオボタンをクリックできるように制御 したいのですがどのように書いて言ったらいいのか困っています。 $(function() { $("[name='sample1']").click(function(){ var num = $("[name='sample1']").index(this); if(num == 1){ $("[name='sample1']").attr("disabled", false); } else { $("[name='sample1']").attr("disabled", true); } }); }); 上記のようにしてみたのですがここからどう下のラジオボタンを操作させるようにしていったらいいのかわかりません。 詳しい方どなたかご教示頂けないでしょうか? 宜しくお願い致します。

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

    <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」で保存します

  • 選択によってsubmitボタンの色を変える

    先程関連質問の回答をいただいた者なのですが、ラジオボタンの内容によってsubmitボタンの色を変えるところまで実現したいのですが、東京ならsubmitボタンはピンク、大阪ならsubmitボタンはブルーにしたいと思います。この場合は、submitボタンのところでIF文で分岐させればいいものでしょうか。 <html> <head> <script Language="JavaScript"> <!-- function set( n ) { document.myFORM.Submit.value = document.myFORM.elements[n].value; } // --> </script> </head> <body onLoad="set(0);"> <FORM ACTION="add.cgi" METHOD="POST" name="myFORM"> <INPUT TYPE="RADIO" NAME="Radio" VALUE="東京" onClick="set(0);" STYLE="background-color:pink" checked> <INPUT TYPE="RADIO" NAME="Radio" VALUE="大阪" onClick="set(1);" STYLE="background-color:blue"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="★" STYLE="background-color:pink"> </form> </body> </html>

  • DOMで作ったラジオボタンが選択できない

    JavaScript DOM で作成したラジオボタンが選択できません。 Sleipnirの「選択部分のソースを表示」で確認したところ、 name属性だけがセットされていないようで、選択できない原因はそれだと思いますが、 セットできない理由が分かりません。 どなたか解決策を教えて頂けないでしょうか。 なお、下記の何れの方法でもダメなようです。 obj.name = "hogehoge" obj.setAttribute("name", "hogehoge"); 念のため、現象確認用のソースも貼っておきます。 <html> <head> <script type="text/javascript"> function create1() { var rObj = document.createElement("input"); rObj.type = "radio"; rObj.name = "rd"; rObj.value = 5; var divObj = document.getElementById("box"); divObj.appendChild(rObj); } function create2() { var rObj = document.createElement("input"); rObj.setAttribute("type", "radio"); rObj.setAttribute("name", "rd"); rObj.setAttribute("value", "3"); var divObj = document.getElementById("box"); divObj.appendChild(rObj); } </script> </head> <body> <input type="button" value="create1" onClick="create1()"> <input type="button" value="create2" onClick="create2()"> <div id="box"></div> </body> </html>

  • 複数のラジオボタン選択肢によりsubmitを押せなくする

    初めて質問させていただきます。 ラジオボタンが下記の選択状態の時だけ「送信(submit)」ボタンを enable で表示させたいです。 1:● 2:○ 1:● 2:○ それ以外の選択肢では「送信(submit)」ボタンを disabl で押せないようにしたいです。 調べて、近い動作にはなりましたが、javascriptに関して 殆ど知識がないため、これから先がさっぱりわかりません。 ぜひ教えを乞いたく参りました。お知恵をお貸しください<(__)> どうぞ宜しくお願い致します。 <HTML> <HEAD> <script type="text/javascript"><!-- function unlock1(el){el.form.send.disabled=false;} function unlock2(el){el.form.send.disabled=true;} //--> </script> <form> 1:<input type="radio" name="radio1" value="1" onClick="unlock1(this)"> 2:<input type="radio" name="radio1" value="2" onClick="unlock2(this)"><br> 1:<input type="radio" name="radio2" value="1" onClick="unlock1(this)"><br> 2:<input type="radio" name="radio2" value="2" onClick="unlock2(this)"><br> <input name="send" type="submit" value="送信" disabled > </form> </BODY> </HTML>

  • ラジオボタンを選択すると、他のラジオボタンの動きを制御したい

    radio1~radio3のいずれか「はい」を選択すると、 その他が強制的に「いいえ」に切り替わるスクリプトはどのように作成すればよろしいでしょうか? <INPUT TYPE=radio NAME="radio1" VALUE="1">はい <INPUT TYPE=radio NAME="radio1" VALUE="2">いいえ <INPUT TYPE=radio NAME="radio2" VALUE="1">はい <INPUT TYPE=radio NAME="radio2" VALUE="2">いいえ <INPUT TYPE=radio NAME="radio3" VALUE="1">はい <INPUT TYPE=radio NAME="radio3" VALUE="2">いいえ