質問編集履歴

7

追加

2021/01/13 05:58

投稿

..o
..o

スコア28

test CHANGED
File without changes
test CHANGED
@@ -68,6 +68,28 @@
68
68
 
69
69
 
70
70
 
71
+ ```HTML
72
+
73
+ <input type="password" name="password" id="password01" maxlength="1"
74
+
75
+ onkeyup="moveOnMax(this,'password02','password01')">
76
+
77
+ <input type="password" name="password" id="password02" maxlength="1"
78
+
79
+ onkeyup="moveOnMax(this,'password03','password01')">
80
+
81
+ <input type="password" name="password" id="password03" maxlength="1"
82
+
83
+ onkeyup="moveOnMax(this,'password04','password02')">
84
+
85
+ <input type="password" name="password" id="password04" maxlength="1"
86
+
87
+ onkeyup="moveOnMax(this,'password04','password03')">
88
+
89
+ ```
90
+
91
+
92
+
71
93
  入力後、次のフィールドへのフォーカスすることができなくなりました。
72
94
 
73
95
  また、エラーは無くなりましたが、else ifの方にconsole.logでprevFieldeIDを出力すると、入力した際にもコンソールにprevFieldeIDの値が出力されてしまっています。

6

誤字

2021/01/13 05:58

投稿

..o
..o

スコア28

test CHANGED
File without changes
test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  } else if (field.value.length < 1) {
60
60
 
61
- document.getElementById(prevFieldeID).focus();
61
+ document.getElementById(prevFieldID).focus();
62
62
 
63
63
  }
64
64
 

5

文の修正

2021/01/13 05:56

投稿

..o
..o

スコア28

test CHANGED
File without changes
test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
 
70
70
 
71
- 入力後次のフィールドへのフォーカスすることができなくなりました。
71
+ 入力後次のフィールドへのフォーカスすることができなくなりました。
72
72
 
73
73
  また、エラーは無くなりましたが、else ifの方にconsole.logでprevFieldeIDを出力すると、入力した際にもコンソールにprevFieldeIDの値が出力されてしまっています。
74
74
 

4

コード修正

2021/01/13 05:55

投稿

..o
..o

スコア28

test CHANGED
File without changes
test CHANGED
@@ -50,21 +50,15 @@
50
50
 
51
51
  ```javascript
52
52
 
53
- moveOnMax = function (field, nextFieldID) {
53
+ moveOnMax = function (field, nextFieldID,prevFieldeID) {
54
54
 
55
55
  if (field.value.length == 1) {
56
56
 
57
57
  document.getElementById(nextFieldID).focus();
58
58
 
59
- } else if (field.value.length == 0) {
59
+ } else if (field.value.length < 1) {
60
60
 
61
- let prevFielde = nextFieldID.slice(8, 10);
62
-
63
- let prevFieldeID = Number(prevFielde)-2;
64
-
65
- document.getElementById("password0" + String(prevFieldeID)).focus();
61
+ document.getElementById(prevFieldeID).focus();
66
-
67
-
68
62
 
69
63
  }
70
64
 
@@ -74,12 +68,8 @@
74
68
 
75
69
 
76
70
 
77
- ```
71
+ 入力後次のフィールドへのフォーカスすることができなくなりました。
78
72
 
79
- エラーメッセ
73
+ また、エラーは無くなりましたが、else ifの方にconsole.logでprevFieldeIDを出力すると、入力した際にもコンソルにprevFieldeIDの値が出力されてしまっています。
80
74
 
81
- Uncaught TypeError: Cannot read property 'focus' of null
75
+ else ifの内容も else if (field.value.length < 1)に変えたのですが、このif分の指定がそもそも間違っているのでしょうか?
82
-
83
- ```
84
-
85
- 一番左のフィールドに入力した際と二番目に入力した際、三番目、二番目、一番目を削除した際にこのエラーが出ます。

3

修正

2021/01/12 07:02

投稿

..o
..o

スコア28

test CHANGED
File without changes
test CHANGED
@@ -56,21 +56,19 @@
56
56
 
57
57
  document.getElementById(nextFieldID).focus();
58
58
 
59
-
60
-
61
- }else if (field.value.length == 0) {
59
+ } else if (field.value.length == 0) {
62
60
 
63
61
  let prevFielde = nextFieldID.slice(8, 10);
64
62
 
65
- let prevFieldeID = Number(prevFielde-2);
63
+ let prevFieldeID = Number(prevFielde)-2;
66
64
 
67
-
68
-
69
- document.getElementById("password0" + String(prevFieldeID - 2)).focus();
65
+ document.getElementById("password0" + String(prevFieldeID)).focus();
70
66
 
71
67
 
72
68
 
73
69
  }
70
+
71
+ }
74
72
 
75
73
  ```
76
74
 

2

追記

2021/01/12 06:44

投稿

..o
..o

スコア28

test CHANGED
File without changes
test CHANGED
@@ -83,3 +83,5 @@
83
83
  Uncaught TypeError: Cannot read property 'focus' of null
84
84
 
85
85
  ```
86
+
87
+ 一番左のフィールドに入力した際と二番目に入力した際、三番目、二番目、一番目を削除した際にこのエラーが出ます。

1

修正

2021/01/12 06:26

投稿

..o
..o

スコア28

test CHANGED
File without changes
test CHANGED
@@ -23,10 +23,6 @@
23
23
  <input type="password" name="password" id="password04" maxlength="1">
24
24
 
25
25
  ```
26
-
27
-
28
-
29
- ### 該当のソースコード
30
26
 
31
27
 
32
28