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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

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

Q&A

解決済

2回答

1266閲覧

ラジオボタンでセレクトメニューの表示を変える

buk

総合スコア53

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

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

0グッド

0クリップ

投稿2019/05/28 08:46

編集2019/05/28 08:59

下記のようにラジオボタンの選択によってセレクトメニューのoptionを表示・非表示しましたが、
formでselectで時間が選択されているんですが、submitボタンを押しても、確認画面へ遷移しません。
未入力扱いなんでしょうか?
selectをrequiredにしていますが、未入力として扱ってくれません。

またラジオボタンを選択してない間は、selectをdisabledに実装したいです。

<form role="form" method="post" action="conf.php" data-toggle="validator"> <input type="radio" name="sample" id="radio01" onclick="entryChange1();" value="エー"/><label for="radio01">エー</label> <input type="radio" name="sample" id="radio02" onclick="entryChange1();" value="ビー" /><label for="radio02">ビー</label> <select name="セレクトサンプル" id="seminar-time" required> <option value="" selected="selected">お選び下さい</option> <option value="11:00~12:00">11:00~12:00</option> <option value="14:00~15:00">14:00~15:00</option> <option value="20:00~21:00" id="none-radio02">20:00~21:00</option> </select> <button type="submit" class="submit-btn"><span>入力確認画面へ</span></button> </form>
var original = document.getElementById('seminar-time').cloneNode(true); function entryChange1(){ radio = document.getElementsByName('sample') var clone = original.cloneNode(true); if (radio[1].checked) { var target = clone.querySelector('#none-radio02'); target.parentNode.removeChild(target); } var select = document.getElementById('seminar-time'); select.parentNode.replaceChild(clone, select); } window.onload = entryChange1;

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

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

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

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

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

Lhankor_Mhy

2019/05/28 08:51

『submitボタンを押しても、確認画面へ遷移しません』とのことですが、ご提示のコードにはsubmitボタンがないようです。
kei344

2019/05/28 08:53

部分を抜き出すのではなく書かれている状況が再現するコード(HTML/JavaScript)を質問文に追記されたほうが回答を得やすいと思います。
buk

2019/05/28 09:00

追記しました
Lhankor_Mhy

2019/05/28 09:04

当方にてご提示のコードを試したところ、select要素のrequiredは有効に働いており、またpostも問題なくできました。 ですので、「submitボタンを押しても、確認画面へ遷移しません」と「selectをrequiredにしていますが、未入力として扱ってくれません」のいずれの問題も再現しませんでした。 環境の問題か、ご提示いただいていないコードに問題があるか、のどちらかだと思います。
guest

回答2

0

ベストアンサー

またラジオボタンを選択してない間は、selectをdisabledに実装したいです。

js

1function entryChange1(){ 2//... 3// 最後に追加 4 original.disabled = false; 5}

投稿2019/05/28 09:32

Lhankor_Mhy

総合スコア35865

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

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

0

Bootstrap Validator (Validator, for Bootstrap 3) を使っているのであれば、replaceChild() のあと更新する必要があります。

jQuery

1 $('form').validator('update');

https://1000hz.github.io/bootstrap-validator/#validator-methods

-- disabled について追記
select 要素に disabled 属性をつけるのはお勧めできません。disabled 属性があると検証対象から外され、必須ではなくなってしまうからです(何も入力しないで送信可能にしたいならそれでいいですが)。
Bootstrap Validator (Validator, for Bootstrap 3) は disabled 属性を見ていないようですが、都合がいいというより出来が悪いといったほうがいいでしょう。

CSS

1input[name="sample"] ~ #seminar-time { 2 pointer-events: none; 3} 4 5input[name="sample"]:checked ~ #seminar-time { 6 pointer-events: auto; 7}

ちなみに、Windows 8.1 の IE11 ではバグがあるようです。
https://dskd.jp/archives/85.html

投稿2019/05/28 09:22

編集2019/05/29 03:03
x_x

総合スコア13749

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問