• ベストアンサー

ラジオボタンが選択されたらテキストフィールドを入力可能にする方法

社会人2年目のSEです。 JavaScriptが書けなくて困っています。 実装内容は以下の通りです。 【実装内容】 ・ラジオボタンが3つ。 ・そのうち2つはただのラジオボタン。 ・もう1つは、そのラジオボタンを押したらテキストボックスに値を入力可能にするもの。 【画面イメージ】 ○ AAA ○ BBB ● CCC [テキストボックス] ↑ラジオボタン(CCCのラジオボタンがチェックされてる時のみ、テキストボックス入力可能) 以下のサイトのソースを参考に実装可能かと思っています。 違うのはサンプルソースのテキストボックスを2つ削ればいいだけなので。 http://www.openspc2.org/reibun/javascript/form_radio/006/index.html このソースを参考にして作ってみたのですが、技術力が足りないため、動かすことができませんでした。 アドバイスよろしくお願い致します。

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

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

>アドバイスよろしくお願い致します で、結局何についてアドバイスが欲しいのでしょうか? 今回の処理は 1.ラジオボタンの状態が変更されたイベントを拾う 2.ラジオボタンの状態を取得する(チェックされているか調べる) 3.テキストボックスの状態を変える のたった3つ処理の組み合わせでしかありません。処理全体を1つとしてみるのではなく、1つの処理が、どんな処理の組み合わせで出来ているのかを考えてください。 SEやPGは大きな視点から細かな視点まで見渡す能力が必要不可欠です。まずは物事を分解して考える術を身につけてください。 あとはついでですが、 今回の質問にラジオボタンが3つと書かれていますが、実際に処理に関連するのは1つだけです。必要な情報と不要な情報は見分けられるようにしましょう。 また、今回ラジオボタンを利用しようとしていますが、ON/OFF(2値)を切り替えるだけならばチェックボックスの方が向いています。様々なコンポーネントの用途を考えて最適なものを選んでください。

korokorodonguri
質問者

お礼

ご解答ありがとうございました。 そうですね。 実際に処理するのは最後のボタン押下後だけですね。 必要な情報と不要な情報を見分けることができていませんでした。 先程、処理するのは3つ目のボタン押下後だけでいいことに気が付き、動くようになりました。 ありがとうございました。

その他の回答 (1)

  • Manuel
  • ベストアンサー率43% (43/98)
回答No.2

<head>内に <script language="javascript" type="text/javascript"> <!-- function swDis() { fObj = document.form01; fObj.textBox01.disabled = (fObj.radio01[2].checked) ? false : true ; } //--> </script> <body>内に <form name="form01"> <table> <tr><td><input type=radio name="radio01" value="AAA" onClick="swDis()" checked>AAA</td></tr> <tr><td><input type=radio name="radio01" value="BBB" onClick="swDis()">BBB</td></tr> <tr><td><input type=radio name="radio01" value="CCC" onClick="swDis()">CCC</td> <td><input type=text name="textBox01" disabled></td></tr> </tr> </table> </form> でどうですか?nameを変えたときはスクリプトの方も変えてくださいね。

korokorodonguri
質問者

お礼

先程できました。 ご丁寧にありがとうございます。 Manuel様のも参考にしてみます。 ありがとうございました。

関連するQ&A