

下記のJavaScriptの問題なのですが、①~⑤までを埋めたいのですが分かりません。
このコードは、「名前」・「問い合わせ内容」・「パスワード」が空欄のままフォーカスや送信が押された場合に文字枠を赤枠で表示させるというものです。
①必須項目にしたクラス
②フォーカスが外れた際に発動するイベント
③クラス解除
④クラス付与
⑤赤枠にするのでcssで定義
※下記記載のコードたちはいじらないで作成できればありがたいです。
JavaScriptはそのままで、HTMLやCSSが修正したほうが容易であれば、修正も可能です。
~HTML~
<form>
<div class="form-item">
<p>名前:</p>
<input class="entry-field" type="text" name="name" placeholder="名前を入力してください" required>
</div>
<div class="form-item">
<p>問い合わせ内容:</p>
<textarea class="entry-field" rows="5" name="inquiry" required></textarea>
</div>
<div class="form-item">
<p>パスワード:</p>
<input class="entry-field" type="password" name="pass" placeholder="Enteer password." required>
</div>
<p></p>
<button class="btn-flat-border" type="submit">送信</button>
<button class="btn-flat-border" type="reset">リセット</button>
</form>
~CSS~
[data-invalid]:invalid{border:solid 1px red;}
~JavaScript~
$(function (){
$("①").on("②", function() {
if ($(this).val()) {
$(this).③("⑤");
} else {
$(this).④("⑤");
}
});
});
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは
>HTMLやCSSが修正したほうが容易であれば、修正も可能です。
data属性を使うよりも、単に、クラスの付与/削除にするほうが簡単かはと思いますけれど。
というか、required 属性と機能がダブっているような気がしますけれど・・
何かのライブラリを使ってるっぽいですけれど、何なのかの記載がないので、以下は素のスクリプトで・・
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
[data-invalid]:invalid{border:solid 1px red;}
</style>
</head>
<body>
<form>
<div class="form-item">
<p>名前:</p>
<input class="entry-field" type="text" name="name" placeholder="名前を入力してください" required />
</div>
<div class="form-item">
<p>問い合わせ内容:</p>
<textarea class="entry-field" rows="5" name="inquiry" required></textarea>
</div>
<div class="form-item">
<p>パスワード:</p>
<input class="entry-field" type="password" name="pass" placeholder="Enteer password." required />
</div>
<p></p>
<button class="btn-flat-border" type="submit">送信</button>
<button class="btn-flat-border" type="reset">リセット</button>
</form>
<script>
document.querySelectorAll('.entry-field').forEach(e=>{
e.addEventListener('blur', function(){
this.dataset.invalid = this.value?"":"invalid";
});
});
</script>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
改行をしたいが、<br>と...
-
formのsubmitを押すとモーダル...
-
【JavaScript】検索がヒットし...
-
max-margin-leftのようなもの
-
特定の条件のHTML要素を一括で...
-
CSSでreadonlyの機能はあり...
-
JavaScriptのdiv.style属性の変...
-
「ご処理進めて頂きますようお...
-
CloseとDisposeの違い
-
VBA エンターキーでイベントに...
-
エクセルで、日付を入力すると...
-
VBAでCOPYを繰り返すと、処理が...
-
エクセルVBAで、MsgBox やInput...
-
UMLでの例外処理
-
EXCEL VBA マクロ 実行する度に...
-
【Excel】特定の文字を含むセル...
-
メルカリのメルカードで買い物...
-
Excelシート上のマクロを登録し...
-
RPGプログラムの*HIVALについて
-
VBAにてメッセージボックスを最...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
改行をしたいが、<br>と...
-
折りたたみを全て開いて別ペー...
-
確認ダイアログを次からは表示...
-
特定の条件のHTML要素を一括で...
-
【JavaScript】検索がヒットし...
-
CSSでreadonlyの機能はあり...
-
CSSのJavaScript参照
-
レイヤーの上下関係
-
Q&A掲示板の入力フォームに文字...
-
javascriptで複数の表示・非表...
-
javascriptのエラーで質問です。
-
ブラウザの表示について
-
JavaScriptのdiv.style属性の変...
-
jQueryでのロールオーバー処理
-
jQueryでのドラッグアンドドロ...
-
max-margin-leftのようなもの
-
最初の内容だけは、あらかじめ...
-
JspにIf条件を追加したいのです...
-
Google マップ でKMLの情報が正...
-
<div>を移動するには?
おすすめ情報