回答編集履歴

2

できない原因も書いた方が良いと思ったので追記。

2020/04/11 12:09

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -1,3 +1,25 @@
1
+ > 反映されませんでした。
2
+
3
+
4
+
5
+ 原因と思われるもの。
6
+
7
+ ```
8
+
9
+ document.getElementsByName('submit_btn').style.color="black";
10
+
11
+ //getElementsByNameはElementListなので既にご自身でほかでやってるようにdocument.getElementsByName('submit_btn')[0]ってする必要があると思います。
12
+
13
+ ```
14
+
15
+
16
+
17
+ ただ、コードがかなり冗長に思いました。
18
+
19
+ cssでstyle先に準備しておけばコード自体は簡潔に書けそうです。
20
+
21
+
22
+
1
23
  最初から考えた方が早そうな気がしたので、ざっくり作り直してみました。
2
24
 
3
25
  一応、シンプルには書いたつもりです。

1

修正

2020/04/11 12:09

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -2,11 +2,15 @@
2
2
 
3
3
  一応、シンプルには書いたつもりです。
4
4
 
5
+
6
+
5
- ラベルの文字が未:白 済:黒」
7
+ ラベルの色だけ変えてもボタンは押せるので、属性の付け替えで対応します。
6
8
 
7
9
 
8
10
 
9
11
  ```html
12
+
13
+ <!--「利用規約に同意する」チェックボックス -->
10
14
 
11
15
  <label for="agreement">
12
16
 
@@ -16,21 +20,25 @@
16
20
 
17
21
  </label>
18
22
 
23
+
24
+
25
+ <!--送信ボタン -->
26
+
19
- <input type="submit" name="submit_btn" class="submit" id="submit" value="送信" disabled><
27
+ <p class="buttons"><input type="submit" name="submit_btn" class="submit" id="submit" value="送信" disabled></p>
20
28
 
21
29
  ```
22
30
 
23
31
  ```css
24
32
 
25
- label{
33
+ #submit{
26
34
 
27
- color:#fff;
35
+ color:#000;
28
36
 
29
37
  }
30
38
 
31
- label.checked{
39
+ #submit:disabled{
32
40
 
33
- color:#000;
41
+ color:#fff;
34
42
 
35
43
  }
36
44
 
@@ -42,15 +50,13 @@
42
50
 
43
51
  document.querySelector('#agreement').addEventListener('click', evt => {
44
52
 
45
- evt.currentTarget.parentNode.classList.remove('checked');
53
+ let submit_button = document.querySelector('#submit');
46
54
 
47
- document.querySelector('#submit').disabled = true;
55
+ submit_button.disabled = true;
48
56
 
49
57
  if (evt.currentTarget.checked) {
50
58
 
51
- evt.currentTarget.parentNode.classList.add('checked');
52
-
53
- document.querySelector('#submit').disabled = false;
59
+ submit_button.disabled = false;
54
60
 
55
61
  }
56
62