質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

982閲覧

html/css お問い合わせフォームについて

chocon

総合スコア14

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/11/18 05:22

htmlとcssでお問い合わせフォームを作成しています。
ラジオボタンでチェックされた項目によって
チェックボタンを表示させたいのですが
うまくできません。

選択していない場合はチェックボタンを非表示にしたい場合

どのようにすれば良いのでしょうか?

html
ーチェックボックスー

<div> <input id="i_qtype01" type="radio" name="qtype" value="お問い合わせ" > <label for="i_qtype01">お問い合わせ</label> </div> <div> <input id="i_qtype02" type="radio" name="qtype" value="資料請求" > <label for="i_qtype02">資料請求</label> </div>

ーお問い合わせのラジオボタンにチェックした場合にだけ表示したいチェックボックスー
<div class="data-contents">
<div class="siryou">

<label> <tr> <th>情報<br> <span>任意(複数回答可)</span> </th> </label> <td> <div> <input id="check01_01" type="checkbox" > <label for="check01_01">ホームページ</label> </div> <div> <input id="check01_02" type="checkbox" > <label for="check01_02">広告</label> </div>

ーCSS表記ー
input[value="お問い合わせ"]:checked ~ data-contents .siryou{
visibility: visible;
height: auto;

}

お忙しい中申し訳御座いませんがご教授頂けると助かります。。。

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/11/18 05:45

コードはマークダウンのcode機能を利用してご提示ください。質問は編集できます。
guest

回答2

0

data-contentsというセレクタは、<data-contents>という非標準のタグを指すことになります。.data-contentsではないでしょうか。

投稿2020/11/18 05:30

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/11/18 05:31

もっとも、こういったフォーム制御をCSSで行うこと自体、フォームの配置への制約になってしまうなど、あまり適任ではありません。JavaScriptを使ったほうがいいでしょう。
chocon

2020/11/18 05:35

maisumakun様 迅速にお助け頂き誠に有難う御座います。 記載ミスしていたので訂正いたしましたが どうしても何もラジオボタンに入力していなくても「情報」のチェックボックスが表示されてしまいます。 HTMLとCSSでのみ作成できる新人であり 原因がわからず・・・
maisumakun

2020/11/18 05:36

> どうしても何もラジオボタンに入力していなくても「情報」のチェックボックスが表示されてしまいます。 「消す」設定をどこでもしていないからではないでしょうか?
chocon

2020/11/18 05:55

消す・・・「display none」などを「.siryou」に対して行うのでしょうか?
guest

0

ベストアンサー

提示のHTMLではCSSだけでは無理です。
ラジオボタンと、非表示の要素が兄弟関係、親子関係になっている必要がありますので。

HTMLを変更可能なら、下記のような感じになります。

html

1<div> 2 <input id="i_qtype01" type="radio" name="qtype" value="お問い合わせ"> 3 <label for="i_qtype01">お問い合わせ</label><br> 4 <input id="i_qtype02" type="radio" name="qtype" value="資料請求"> 5 <label for="i_qtype02">資料請求</label> 6 <div class="data-contents"> 7 <div class="siryou"> 8 <label> 9 <tr> 10 <th>情報<br> 11 <span>任意(複数回答可)</span> 12 </th> 13 </label> 14 15 <div> 16 <input id="check01_01" type="checkbox"> 17 <label for="check01_01">ホームページ</label> 18 </div> 19 <div> 20 <input id="check01_02" type="checkbox"> 21 <label for="check01_02">広告</label> 22 </div> 23 </div> 24 </div> 25</div>

css

1.data-contents .siryou { 2 display: none; 3} 4input[value="お問い合わせ"]:checked ~ .data-contents .siryou{ 5 display: block; 6}

投稿2020/11/18 06:06

hatena19

総合スコア34075

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chocon

2020/11/18 08:31

hatena19様 ご丁寧に有難う御座います。 おかげさまでご教授頂きましたhtmlとCSSで ラジオボタンと非表示の要素が兄弟・親子関係で見直すと 対応することができました。 もしご迷惑でなければもう1つ教えて頂きたいのですが これが次は「資料請求」をラジオボタンで選択した場合のみ お問い合わせ内容を<textarea>で表示したい場合は 同じ <div class="data-contents"> <div class="siryou"> に <div> <label>お問い合わせ内容(必須)</label> <textarea></textarea> </div> で表記し CSSにて input[value="資料請求"]:checked ~ .data-contents .siryou{ display: block; } で良いのでしょうか?
hatena19

2020/11/18 08:37

とりあえずやってみてうまくいかない場合に、記述したコードを提示してどのようにうまくいかないのか質問してください。
chocon

2020/11/18 13:45

ご丁寧に有難う御座いました。 エラーなくコーディングすることができました。 すごくわかりやすくて勉強になりました。 お時間を有難う御座いました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問