質問編集履歴

1 表示イメージについての追加

mochiko

mochiko score 10

2017/12/06 13:53  投稿

ラジオボタンが選択されていない場合、エラーテキストを表示させる
ラジオボタンを使ってお問い合わせ内容の2種類どちらかを選択させる項目のあるフォームを制作しています。
その際に、お問い合わせ項目は必須にし、尚且つ選択がされていない場合、
項目の下に赤いテキストで「問い合わせ項目が選択されていません」と表示をさせたいのですが、
項目1と項目2どちらかを選択していてもエラー文が2つ表示されたりなど、
なかなか思うような組み方ができず、苦戦をしています…。
どなたかご教授いただけないでしょうか。
不慣れな組み方でお見苦しいのですが、下記がコードになります。
```html
<form>
<label id="nameWrap" for="type">問い合わせ項目<span class="required">[必須]</span></label>
 <div class="formWrap">
   <label><input type="radio" name="type" id="type1" value="項目1" data-err-txt="問い合わせ項目が選択されていません" required="required"><span>項目1</span></label>
   <label><input type="radio" name="type" id="type2" value="項目2" data-err-txt="問い合わせ項目が選択されていません" required="required"><span>項目2</span></label>
 </div>
 <input name="submitBtn" id="submitBtn" type="submit" value="送信">
</form>
```
```javascript
$('#submitBtn').on('click', function (e){
     e.preventDefault();
     require = true;
     $('.error').remove();
     $('[required="required"]:not(:disabled)').each(function (i, el){
       if ( ! $(el).val() || ( $(el).is('[type="radio"]') && ! $(el).is(':checked') ) ){
         require = false;
         $(el).parents('.formWrap').append('<span class="error">'+ $(el).data('err-txt') +'</span>');
       }
     });
   });
```
```CSS
span.error {
   display: block;
   color: #F00;
   font-weight: bold;
}
```
 
表示イメージとしては下記の図のようなものを想定しております。  
![イメージ説明](ec6ee6495580c9190a8b199895b81852.jpeg)  
 
 
何卒よろしくお願いいたします。
  • JavaScript

    26544 questions

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

  • HTML

    15863 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る