contact formを自作しているのですが、HTMLとCSSのみで必須項目が未入力の際にエラーメッセージとして、以下の画像の
ように「必須項目です入力してください」を表示させたいのですが、その方法が分かりません。
【解決の為に試したこと】
①、該当のinputタグに対して「required」をつける
②、divタグで表示したいエラーメッセージを作成し、以下をcssにて実装
CSS
1.p-contact__error { 2 display: none; 3 font-size: 1.3rem 4 color: red; 5} 6 7input:invalid + .p-error { 8 display: block; 9} 10
③、input[type=“text”]を追加
CSS
1.p-contact__error { 2 display: none; 3 font-size: 1.3rem 4 color: red; 5} 6 7input[type=“text”]:invalid + .p-error { 8 display: block; 9}
④、上記のコード内にて、「:invalid」を「:required」に変更
以上です。
以下は該当箇所のHTMLとCSSファイルです。
よろしくお願い致します!
HTML
1<section> 2 <div class="p-news__titleArea" data-en="CONTACT"> 3 <form action="#" class="p-contact__form"> 4 <dl class="p-contact__area"> 5 <div class="p-contact__control"> 6 <dt> 7 <label class="p-contact__label--required" for="your-name">お名前</label> 8 </dt> 9 <dd> 10 <input id="your-name" class="p-contact__input" type="text" name="your-name" value="" placeholder="" required> 11 </dd> 12 <div class="p-contact__error">必須項目です入力してください</div> 13 </div> 14 </dl> 15 <div class="p-contact__btn"> 16 <button id="" class="p-contact__submit" type="submit">確認画面へ</button> 17 </div> 18 </form> 19 </div> 20 </section>
CSS
1.p-contact__error { 2 display: none; 3 font-size: 1.3rem; 4 color: #dd3f1d; 5 } 6 7 input[type="text"]:required + .p-contact__error { 8 display: block; 9 } 10 11 input:invalid:focus { 12 border: solid 1px #dd3f1d; 13 outline: 0; 14 }

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/25 03:05 編集
2022/03/25 03:07
2022/03/25 03:21