下記の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で質問しましょう!
似たような質問が見つかりました
- JavaScript 付属の写真のようにエラーが出るようにしたいです。 提示したコードだけでは、エラーメッセージ文字が上の 1 2021/11/23 08:27
- JavaScript javascriptとPHPで入力フォームのコードを書いているのですが、 流れとしては、①入力フォー 2 2021/12/02 09:18
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- AJAX jQueryを使いformでsubmitした時の位置を保持する方法について 4 2021/12/23 16:23
- JavaScript 【JavaScript】検索がヒットした場合、プルダウンをオープンで表示させる方法 2 2023/09/06 14:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptのエラーで質問です。
-
確認ダイアログを次からは表示...
-
jQueryのappendで追加したdiv...
-
動画の上に広告をオーバーレイ...
-
改行をしたいが、<br>と...
-
【JavaScript】検索がヒットし...
-
SITEINFOの書き方について
-
折りたたみを全て開いて別ペー...
-
jqueryを使ったスムーススクロ...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
UMLでの例外処理
-
CloseとDisposeの違い
-
エクセルVBAで、MsgBox やInput...
-
EXCEL VBA マクロ 実行する度に...
-
VBAでループ内で使う変数名を可...
-
VBA エンターキーでイベントに...
-
VBAでCOPYを繰り返すと、処理が...
-
Googleフォーム・複数人の申し...
-
インタラクティブの反対語は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
折りたたみを全て開いて別ペー...
-
確認ダイアログを次からは表示...
-
javascriptで複数の表示・非表...
-
特定の条件のHTML要素を一括で...
-
改行をしたいが、<br>と...
-
CSSでreadonlyの機能はあり...
-
macかwinか判別しスタイルシー...
-
SITEINFOの書き方について
-
ブラウザの表示領域から高さを...
-
vml フォントの大きさ変更
-
フォームで「パスワード(確認...
-
【JavaScript】検索がヒットし...
-
タイプライタ風の文字を真ん中...
-
jqueryを使ったスムーススクロ...
-
jQueryのCSSで値に変数を使う方法
-
webサイトに動画をはりつけ、ク...
-
年月日時分を指定してCSSを切り...
-
時間帯によってclass名を変更し...
-
2回目以降のページロード時には...
-
ブログパーツをレスポンシブ化...
おすすめ情報

