• ベストアンサー

ラジオボタンの選択内容により、テキストボックスをアクティブにしたい

資料請求、訪問予約、来店予約のためのメールフォームを作成しています。そこで、資料請求、訪問予約、来店予約の3つの選択項目のラジオボタングループを作って、 1.訪問予約、来店予約のときは、日時入力用のテキストボックスをアクティブにしたい。 2.資料請求のときは、日時入力用のテキストボックスは非アクティブ(disabled)にしたい 3.初期値は資料請求を選択した状態で、テキストボックスは非アクティブ このようなものを作りたいと思っています。 html+javascript で作れたらいいなと思っています。 どうかご教授お願いします。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

ベタにかくことこんなかんじ <meta charset=euc-jp> <script> function check(flg){ document.getElementById("nichiji").disabled=flg; } </script> <form> <p> <input type="radio" name="hoge" id="hoge1" onClick="check(true)" checked><label for="hoge1">資料請求</label> <input type="radio" name="hoge" id="hoge2" onClick="check(false)"><label for="hoge2">訪問予約</label> <input type="radio" name="hoge" id="hoge3" onClick="check(false)"><label for="hoge3">来店予約</label> </p> <p> 日時:<input type="text" name="nichiji" id="nichiji" disabled> </p> </form>

その他の回答 (1)

noname#84373
noname#84373
回答No.1

レスがつかないようなので。 HTMLぐらい書きましょう! わからないので勝手に解釈しました。 なので長くなってしまいました。 スクリプトのみ掲載です。 <p><input type="text" ~</p> のようにテキストボックスは、<p>とか<div>で囲ってください //@cc_on /*@if(1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/'load', function () { var radioName = 'abc'; //inputのradioのタグの名前。radioのvalue値は、訪問予約・来店予約・資料請求と漢字にしてください var textBoxName = 'def'; //inputのtextboxoのタグの名前。inputタグはブロック要素の内側に属するので、親のCSSをいじりました。 document.getElementsByName(textBoxName)[0].parentNode.style.display = 'none'; document./*@if(1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/'click', function (evt) { var o = evt./*@if (1) srcElement @else@*/ target/*@end@*/; if (o.tagName=='INPUT' && o.type=='radio' && o.name == radioName) document.getElementsByName(textBoxName)[0].parentNode.style.display = o.value=='資料請求' ? 'none': 'block'; }, false); }, false);

kyotaro72
質問者

お礼

ありがとうございます! 思い通りのものが出来ました!

kyotaro72
質問者

補足

_pipi_様、回答ありがとうございました。 それからソースを添付せずに質問し大変失礼しました。 以下が初期状態のソースです。 初期状態では、資料請求を選択した状態で、テキストボックスはdisplay="none"ではなく、disabled="disabled"にした状態にしたいと思っています。そして、訪問もしくは来店を選択した場合にテキストボックスを入力可能状態にしたいと思っています。 2度手間になってしまい、大変申し訳ありませんが、ご回答の方よろしくお願いします。 <table> <tr> <th scope="row">選択項目</th> <td> <label><input name="abc" type="radio" value="資料請求" checked="checked" /> 資料請求</label> <label><input type="radio" name="abc" value="訪問" />訪問</label> <label><input type="radio" name="abc" value="来店" />来店</label> </td> </tr> <tr> <th scope="row">予約日時</th> <td> <label><input type="text" name="def" disabled="disabled" /></label> </td> </tr> </table>

関連するQ&A

  • ラジオボタンでテキストボックスを非アクティブにできる?

    2択のラジオボタンと、テキストボックスが一つあったとして、ラジオボタンの片方を選択しているときは、このテキストボックスを非アクティブ状態にする、といったことはJavascriptで可能でしょうか? あまりJavascriptに詳しくないので、簡単な記述で制御できると助かるのですが・・・。 ご教授、よろしくお願いいたします。

  • ラジオボタンの選択項目

    ラジオボタンの選択項目を、セレクトボックスとテキストボックスにするにはどのようにしたらいいのでしょうか? またJavaScriptを用いてラジオボタンの値と選択されたセレクトボックス、テキストボックスの値をsubmitさせるにはどのようにするのでしょうか? ご存知の方いらっしゃいましたらお願いします。

  • ラジオボタンにチェックを入れて、テキストボックスのコメントを消すには

    どなたかお力を・・・ 宜しくお願いします。 メールフォームを作成していて、 テキストボックス入力欄 ○ラジオボタン01 ○ラジオボタン02 から、1箇所選択してもらうようにしてあります。 テキストボックスに始めから、例を記入してあるのですが、 ラジオボタンにチェックを入れた際に消えるようにしたいのです。 フォームのコメントを消すjavascriptは変更してもらっても構いません。 <INPUT type="text" name="あいうえお" onfocus="if (this.value == '例)Corneometer') this.value = '';" onblur="if (this.value == '') this.value = '例)テスト';" value="例)テスト"> <INPUT type="radio" name="かきくけこ" value="ラジオ01" onClick="check_reset(this,10)">ラジオ01 <INPUT type="radio" name="かきくけこ" value="ラジオ02" onClick="check_reset(this,11)">ラジオ02

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

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

  • ラジオボタンとテキストボックスの併用でCGIがうごかなくなる

    よろしくお願いします。 今CGIをくんでいるのですが、 フォームにテキストボックスを使用するとボタンを押してSABMITで エラーになります。 たぶんSABMITで飛ぶ先の引数がまずいんだと思うのですが、 なぜかテキストボックスをSABMITで送ろうとするときだけ うまくうごかないのです。 ラジオボタンのみのページもしくはテキストボックスのみの ページだとうまくいきます。 ラジオボタンとテキストボックスを併用すると エラーになるのです。 この現象についてご存知の方、よろしくお願いします!

    • ベストアンサー
    • CGI
  • エクセルVBAでテキストボックス等選択する。

    こんばんわ! エクセルのVBAのユーザーフォームについての質問です。 オプションボタン1・2・3とあって 1を選択したらテキストボックス1が選択される(そのまま入力できる状態になる) 2を選択したらテキストボックス2が選択される(そのまま入力できる状態になる) 3を選択したらテキストボックス3が選択される(そのまま入力できる状態になる) ということをしたいのですが、どのようにすればよいでしょうか? アドバイスの程よろしくお願いいたします。

  • ポップアップウインドウで選択した内容をテキストボックスへ

    こんなことをやりたい。 テキストボックスには「趣味」を入力する。テキストボックスの脇のリンクをクリックすると、趣味一覧が表示され、ラジオボタンをクリックすると、元のウインドウのテキストボックスにその選択された「趣味」が入っている。 これはむずかしいでしょうか。 #ポップアップウインドウはわかります。 #ラジオボタンをクリックしたときにテキストボックスへという部分がよくわからず。

  • 特定のラジオボタンが選択されたらテキストフィールドを入力可

    下のような6つのラジオボタンと1つのテキストフィールドのあるフォームがあります。 「あ・い・う・え・お」のラジオボタンが選択されたらテキストフィールドをdisabledに、「か」なら入力可能にしたくて、JavaScriptで次のように記述しました。 一応動作しているように見えるのですが、見よう見まねで書いた初めてJavaScriptなので大丈夫なのか不安です。これで良いのでしょうか。 function txtClose () { if (document.f_frm.motive[5].checked) { document.f_frm.motive_add.disabled = false; } else { document.f_frm.motive_add.disabled = true; } } <form name="f_frm"> <input type="radio" name="motive" value="あ" onclick="txtClose();" />あ<br /> <input type="radio" name="motive" value="い" onclick="txtClose();" />い<br /> <input type="radio" name="motive" value="う" onclick="txtClose();" />う<br /> <input type="radio" name="motive" value="え" onclick="txtClose();" />え<br /> <input type="radio" name="motive" value="お" onclick="txtClose();" />お<br /> <input type="radio" name="motive" value="か" onclick="txtClose();" />か<br /> <input type="text" name="motive_add" size="20" maxlength="40" onclick="txtClose();" /> </form>

  • ラジオボックス・チェックボックス・テキストボックス

    いつも拝見して勉強させていただいています。 勉強不足でうまくjavaがかけないので質問させていただきます。 下記のように機能させたいと考えています。 1.ラジオボックス1とラジオボックス2のみが初めは選択可能。  他のチェックボックス1~6とテキストボックスは選択不可能。 2.ラジオボックス2を選ぶとチェックボックス1~6が選択可能。テキストボックスは記入不可能。 3.チェックボックス6を選ぶとテキストボックスは記入可能。 配置は以下のような感じになっています。 ○ラジオボックス1 ○ラジオボックス2---               □チェックボックス1               □チェックボックス2               □チェックボックス3               □チェックボックス4               □チェックボックス5               □チェックボックス6-----                          「                             テキストボックス   」 下記サイトを参考にしているのですが組み合わせるとうまくできません。 http://phpjavascriptroom.com/?t=js&p=radiocheckbox 初歩的な質問で申し訳ありませんがよろしくおねがいします。

    • ベストアンサー
    • Java
  • テキストボックスとラジオボタンの値を取得してリンクさきにとぶ

    テキストボックスとラジオボタンの値を取得してリンクさきにとぶ htmlを勉強したあと、javascriptも勉強し始めました。 以下のようなことを実現したいのですが、初心者には 単純ではないので、質問もどのようして良いのかわかりません。 現実可能であれば大体の構造を教えてください。 少しだけ時間があるので全体のヒントをいただけたら、 自分でやれるだけやってみます。よろしくお願いいたします。 【やりたい事】 Web画面から (1)テキストボックスに 「日付A」を8桁入力する ex)20100510 (2)事業部名をラジオボタンにて選択する (3)ラジオボタンで事業部名を選択すると  aaa事業部 → "_01.xls" bbb事業部 → "_02.xls" ccc事業部 → "_03.xls"    というように配列に値を格納する。 (4)ボタンを押すと、  日付A → テキストボックスから  事業部NO → ラジオボタンから  以下のurlに代入する  url = file://~/日付A/"報告書_"+日付A+事業部NO ex) テキストボックスに「20100510」を入力  ラジオボタンでbbb事業部を選択  file://~/20100510/報告書_20100510_02.xls にとぶ

専門家に質問してみよう