teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2019/08/14 08:12

投稿

退会済みユーザー
answer CHANGED
@@ -65,7 +65,7 @@
65
65
 
66
66
 
67
67
  function setErrorMessage(selector, string) {
68
- $(selector).next('.error-message').text(string).show();
68
+ $(selector).next('.error-message').text(string).removeClass('hide');
69
69
  }
70
70
 
71
71
  $("form.post_form").on('submit', function (e) {

1

追記

2019/08/14 08:12

投稿

退会済みユーザー
answer CHANGED
@@ -5,4 +5,86 @@
5
5
  ```
6
6
 
7
7
  この場合、$('.vali_name')の後ろにerror_message を追加しているだけ。
8
- すでに存在しているかいないかを判定していないので、何個でも追加されてしまっているのです。
8
+ すでに存在しているかいないかを判定していないので、何個でも追加されてしまっているのです。
9
+
10
+ ---
11
+
12
+ JavaScriptを書きやすくHTMLを作るのも大切です。
13
+
14
+ ```html
15
+ <!DOCTYPE html>
16
+ <html lang="ja">
17
+ <head>
18
+ <meta charset="UTF-8"/>
19
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
20
+ <meta http-equiv="X-UA-Compatible" content="ie=edge"/>
21
+
22
+ <!-- js -->
23
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
24
+ <script src="./js/post_customer.js" charset="utf-8"></script>
25
+ <style>
26
+ .hide {
27
+ display: none;
28
+ }
29
+ </style>
30
+ </head>
31
+ <body>
32
+ <header></header>
33
+
34
+ <main id="main" class="post_area">
35
+ <form class="post_form" action="confirm.php" method="post">
36
+ <!-- 名前 -->
37
+ <div class="item">
38
+ <label class="label_block" for="name">
39
+ <i class="fas fa-hand-point-right icon"></i>
40
+ お名前<span class="required">必須</span>
41
+ </label>
42
+ <input id="name"
43
+ class="inputs vali_name"
44
+ type="text"
45
+ name="name"
46
+ autocomplete="off"/>
47
+ <span class="error-message hide">error</span>
48
+ </div>
49
+
50
+ <!-- 送信、リセットボタン -->
51
+ <div class="btn_area">
52
+ <input id="form_btn" type="submit" value="送信する"/>
53
+ <input type="reset" value="リセット"/>
54
+ </div>
55
+ </form>
56
+ </main>
57
+
58
+ <footer></footer>
59
+ </body>
60
+ </html>
61
+ ```
62
+
63
+ ```javascript
64
+ $(function () {
65
+
66
+
67
+ function setErrorMessage(selector, string) {
68
+ $(selector).next('.error-message').text(string).show();
69
+ }
70
+
71
+ $("form.post_form").on('submit', function (e) {
72
+
73
+ let error = 0;
74
+
75
+ let error_message = '必須項目です';
76
+ let error_num = '半角数字のみです';
77
+
78
+ // 名前
79
+ if ($(".vali_name").val() == "") {
80
+ error++;
81
+ setErrorMessage('.vali_name', error_message);
82
+ }
83
+
84
+ if (error) {
85
+ return false;
86
+ }
87
+ });
88
+
89
+ });
90
+ ```