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

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

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

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

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

2回答

1135閲覧

サーバー側でラジオボタンリストのCSSを変更したい

Umashio

総合スコア4

CSS

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

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2020/08/05 00:17

編集2020/08/05 01:54

お世話になっております。
前回と引き続きと言いますか、同じラジオボタンリストに関しての質問です。
https://teratail.com/questions/282443 ←前回のスレッド

前提・実現したいこと

サーバー側でラジオボタンリストのCSSを変更したいと考えております。
追記:(入力フォームがありまして、確認ボタン押下時に)未選択の場合エラー表示として、丸の部分だけ色を変更したいです。

イメージ図
イメージ説明

発生している問題

現在、下図のような状態です。
上記イメージ図のようにするにはどうすればいいでしょうか?
宜しくお願い致します。
イメージ説明
該当ソースコード

ASPNET

1If Me.RadioButtonList1.SelectedIndex = -1 Then 2 Me.OptBtn_Posted.Style.Add("background", "red") 3Else 4 Me.RadioButtonList1.Style.Add("background", "") 5End If

補足情報(FW/ツールのバージョンなど)

Microsoft Visual Studio 2010
.NET Framework 4
ASP.NET
Web Form

追記:エラーチェックは実装済みです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/08/05 00:59

> 未選択の場合エラー表示として、丸の部分だけ色を変更したいです。 そもそも何をしたいのですか? 無条件で未選択全てエラー表示では初期画面からエラー表示になってしまうでしょうからそういうことではなさそうだと理解しているのですが・・・ 他にもユーザー入力があって、それらの入力の結果ある条件の時に未選択の場合はエラーメッセージを表示してユーザーに選択を促すというような話ですか? そのあたりの実装はすでに質問者さんの方で考え済み&済んでいて、質問の「丸の部分だけ色を変更」をサーバー側でどのようにしたらよいかが分かればいいのですか?
Umashio

2020/08/05 01:16

SurferOnWwwさんご返信ありがとうございます。 >他にもユーザー入力があって、それらの入力の結果ある条件の時に未選択の場合はエラーメッセージを表示してユーザーに選択を促す… そのあたりの実装はすでに質問者さんの方で考え済み&済んでいて、質問の「丸の部分だけ色を変更」をサーバー側でどのようにしたらよいかが分かればいいのですか? 全くおっしゃる通りでございます。エラーチェックは実装済みです。 「丸の部分だけ色を変更」をサーバー側でどのようにしたらよいかが分からないという状況です。 質問内容を修正しておきました。
退会済みユーザー

退会済みユーザー

2020/08/05 01:38

ユーザーの何らかのアクションでポストバックしてサーバー側で SelectedIndex が -1 か否かを判定し、-1 だった場合は、ポストバック応答がブラウザに再描画されたときに「選択1」に該当するラジオボタンのみ赤丸にするということで良いのですか? ASP.NET Web アプリの検証コントロールを使うとデフォルトで普通に実装されるクライアント側での検証機能は不要ということで良いのですか?
Umashio

2020/08/05 01:54

すみません汗 イメージミスです。選択1と選択2を赤丸にしたいです。 クライアント側の検証機能は不要です。
退会済みユーザー

退会済みユーザー

2020/08/05 02:39 編集

ラジオボタン本体に CSS を適用してボタンの種類や色などを指定することはできないそうなので、以下の記事のようなことをしてラベルに CSS を適用するなどして何とかする他手はなさそうです。 CSSでラジオボタンをカスタマイズする方法 https://proengineer.internous.co.jp/content/columnfeature/6492 そこまでは普通に行われていることのようですが、それに加えてユーザー入力の検証の結果でボタン本体の色を変えるという話は初めて聞きました。思い付きレベルではなくて客の要求とかでホントにそんなことをする必要があるのでしょうか? CustomValidator を使ってクライアント側でも検証するとともに、ボタンの色ではなくてエラーメッセージを表示した方が明らかにユーザーフレンドリーだと思うのですが? その具体例は以下の記事を見てください。 CustomValidator のクライアント側での検証 http://surferonwww.info/BlogEngine/post/2020/06/27/validation-of-customvalidator-on-client-side.aspx 余計なお世話かもしれませんが、客の要求とかでどうしてもそうしなければならないということでなければ、再考しませんか?
Umashio

2020/08/05 02:46

私も最初はエラーメッセージのみで考えていたのですが、赤く表示された方が分かりやすいとのことで、エラーメッセージと尚且つコントロールを赤くするという仕様になりました。 なので、赤丸にしようと考えたのですがラベルの方を変更できないかやってみたいと思います。
退会済みユーザー

退会済みユーザー

2020/08/05 03:05 編集

> 赤丸にしようと考えたのですがラベルの方を変更できないかやってみたいと思います。 赤丸でなくてもラベルの色を赤に変更することでも良いのですか? それでもよければ質問欄を編集してその旨追記してください。それは比較的簡単にできそうです。
guest

回答2

0

自己解決

ASPNET

1If Me.RadioButtonList1.SelectedIndex = -1 Then 2 Me.OptBtn_Posted.Style.Add("background", "red") 3Else 4 Me.RadioButtonList1.Style.Add("background", "") 5End If

????変更後

ASPNET

1If Me.RadioButtonList1.SelectedIndex = -1 Then 2 Me.OptBtn_Posted.Style.Add("border", "2px solid red") 3Else 4 Me.RadioButtonList1.Style.Add("border", "") 5End If

表示
イメージ説明

という風に変更しました。
回答してくださった方々ありがとうございました。

投稿2020/08/05 03:04

Umashio

総合スコア4

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

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

0

ラジオボタンにrequiredをつけるだけではいけないのでしょうか?

投稿2020/08/05 00:38

yambejp

総合スコア114839

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

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

Umashio

2020/08/05 01:18

ご回答ありがとうございます。 言葉足らずで申し訳ございません。エラーチェックの方はすでに実装済みでございます。 そのうえで丸の部分だけの色を変更したいと考えております。
yambejp

2020/08/05 01:26

requiredだけで(ブラウザ依存ですが)赤い丸になるという 意図の回答でした、ラジオボタンをカスタマイズするよりは cssで疑似ラジオボタンを書くほうが楽です
Umashio

2020/08/05 01:53

そういう事だったのですね…汗 サーバー側で作ってしまうという事でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問