回答編集履歴

9

 

2022/04/03 04:35

投稿

退会済みユーザー
test CHANGED
@@ -34,10 +34,11 @@
34
34
  ---
35
35
 
36
36
  【修正案】
37
- 年号・年・月・日それぞれ空欄かどうか判定し、空欄が1個以上ある場合は、
37
+ 年号・年・月・日それぞれについて空欄かどうか判定し、
38
+ 空欄が1個以上ある場合は、
38
- $('#birthday_err').addClass('disnon');とし
39
+ $('#birthday_err').removeClass('disnon');、
39
40
  いずれも空欄でない場合は、
40
- $('#birthday_err').removeClass('disnon');
41
+ $('#birthday_err').addClass('disnon');
41
42
  とします。
42
43
 
43
44
  ```js

8

リファクタリング

2022/04/03 04:33

投稿

退会済みユーザー
test CHANGED
@@ -45,7 +45,6 @@
45
45
  ["#year1", "#year", "#month", "#day"].forEach(e => {
46
46
  if (!$(e).val()) {
47
47
  $(e).addClass('form_err');
48
- $('#birthday_err').removeClass('disnon');
49
48
  err_flg++;
50
49
  date_err = true;
51
50
  } else {
@@ -53,9 +52,10 @@
53
52
  }
54
53
  });
55
54
 
56
- if (date_err === false) {
55
+ if (date_err)
56
+ $('#birthday_err').removeClass('disnon');
57
+ else
57
58
  $('#birthday_err').addClass('disnon');
58
- }
59
59
 
60
60
  /* 下記は削除
61
61
  //譏ュ蜥後€∝ケウ謌舌′遨コ谺��縺ィ縺�

7

 

2022/04/03 04:26

投稿

退会済みユーザー
test CHANGED
@@ -81,5 +81,13 @@
81
81
  } else {
82
82
  $('#birthday_err').addClass('disnon');
83
83
  }
84
+
85
+ if (!$('#day').val()) {
86
+ // 譌・縺檎ゥコ谺��蝣エ蜷�
87
+ $('#birthday_err').removeClass('disnon');
88
+ } else {
89
+ $('#birthday_err').addClass('disnon');
90
+ }
91
+
84
92
  */
85
93
  ```

6

追加

2022/04/03 04:25

投稿

退会済みユーザー
test CHANGED
@@ -30,3 +30,56 @@
30
30
 
31
31
  ```
32
32
  のelse節で、$('#birthday_err').addClass('disnon'); されてしまうため、エラー表示がなされないのだと思います。
33
+
34
+ ---
35
+
36
+ 【修正案】
37
+ 年号・年・月・日それぞれで空欄かどうか判定し、空欄が1個以上ある場合は、
38
+ $('#birthday_err').addClass('disnon');とし、
39
+ いずれも空欄でない場合は、
40
+ $('#birthday_err').removeClass('disnon');
41
+ とします。
42
+
43
+ ```js
44
+ let date_err = false; //年号・年・月・日のうち空欄が1個以上あるか
45
+ ["#year1", "#year", "#month", "#day"].forEach(e => {
46
+ if (!$(e).val()) {
47
+ $(e).addClass('form_err');
48
+ $('#birthday_err').removeClass('disnon');
49
+ err_flg++;
50
+ date_err = true;
51
+ } else {
52
+ $(e).removeClass('form_err');
53
+ }
54
+ });
55
+
56
+ if (date_err === false) {
57
+ $('#birthday_err').addClass('disnon');
58
+ }
59
+
60
+ /* 下記は削除
61
+ //譏ュ蜥後€∝ケウ謌舌′遨コ谺��縺ィ縺�
62
+ if (!$("#Year1").val()) {
63
+ $('#Year1').addClass('form_err');
64
+ $('#birthday_err').removeClass('disnon');
65
+ err_flg++;
66
+ } else {
67
+ $('#Year1').removeClass('form_err');
68
+ $('#birthday_err').addClass('disnon');
69
+ }
70
+
71
+ if (!$('#year').val()) {
72
+ // 蟷エ縺檎ゥコ谺��蝣エ蜷�
73
+ $('#birthday_err').removeClass('disnon');
74
+ } else {
75
+ $('#birthday_err').addClass('disnon');
76
+ }
77
+
78
+ if (!$('#month').val()) {
79
+ // 譛医′遨コ谺��蝣エ蜷�
80
+ $('#birthday_err').removeClass('disnon');
81
+ } else {
82
+ $('#birthday_err').addClass('disnon');
83
+ }
84
+ */
85
+ ```

5

 

2022/04/03 03:33

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,4 @@
1
- コードを読んだだけですが、ID指定を間違っているのではないでしょうか。
1
+ ID指定を間違っているのではないでしょうか。
2
2
  ```js
3
3
  //譏ュ蜥後€∝ケウ謌舌′遨コ谺��縺ィ縺�
4
4
  if (!$("#Year1").val()) {

4

 

2022/04/03 03:30

投稿

退会済みユーザー
test CHANGED
@@ -17,7 +17,7 @@
17
17
  ---
18
18
 
19
19
  「日の欄が空欄でないと表示されません」 の理由ですが、
20
- 現状は、年号・年・月・日それぞれで独立して空欄かどうかを判定しているため
20
+ 現状は、年号・年・月・日それぞれで独立して空欄かどうかを判定したうえで、毎回同じ#birthday_errにクラスを設定しているため
21
21
  たとえ年号、年、月のうち一部または全部が空欄であっても、
22
22
  最後の「日」が空欄でなければ、
23
23
  ```
@@ -29,4 +29,4 @@
29
29
  }
30
30
 
31
31
  ```
32
- のelse節で、.addClass('disnon'); されてしまうため、エラー表示がなされないのだと思います。
32
+ のelse節で、$('#birthday_err').addClass('disnon'); されてしまうため、エラー表示がなされないのだと思います。

3

 

2022/04/03 03:29

投稿

退会済みユーザー
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  「日の欄が空欄でないと表示されません」 の理由ですが、
20
20
  現状は、年号・年・月・日それぞれで独立して空欄かどうかを判定しているため
21
- たとえ年号、年、月の一部または全部が空欄であっても、
21
+ たとえ年号、年、月のうち一部または全部が空欄であっても、
22
22
  最後の「日」が空欄でなければ、
23
23
  ```
24
24
  if (!$('#day').val()) {

2

 

2022/04/03 03:28

投稿

退会済みユーザー
test CHANGED
@@ -12,3 +12,21 @@
12
12
  (略)
13
13
  ```
14
14
  ここは「Year1」ではなく、「year1」(先頭小文字)にすべきだと思います。
15
+
16
+
17
+ ---
18
+
19
+ 「日の欄が空欄でないと表示されません」 の理由ですが、
20
+ 現状は、年号・年・月・日それぞれで独立して空欄かどうかを判定しているため
21
+ たとえ年号、年、月の一部または全部が空欄であっても、
22
+ 最後の「日」が空欄でなければ、
23
+ ```
24
+ if (!$('#day').val()) {
25
+ // 譌・縺檎ゥコ谺��蝣エ蜷�
26
+ $('#birthday_err').removeClass('disnon');
27
+ } else {
28
+ $('#birthday_err').addClass('disnon');
29
+ }
30
+
31
+ ```
32
+ のelse節で、.addClass('disnon'); されてしまうため、エラー表示がなされないのだと思います。

1

 

2022/04/03 03:16

投稿

退会済みユーザー
test CHANGED
@@ -5,6 +5,10 @@
5
5
  $('#Year1').addClass('form_err');
6
6
  $('#birthday_err').removeClass('disnon');
7
7
  err_flg++;
8
+ } else {
9
+ $('#Year1').removeClass('form_err');
10
+ $('#birthday_err').addClass('disnon');
11
+ }
8
12
  (略)
9
13
  ```
10
14
  ここは「Year1」ではなく、「year1」(先頭小文字)にすべきだと思います。