質問編集履歴
7
追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -33,6 +33,17 @@
|
|
33
33
|
}
|
34
34
|
```
|
35
35
|
|
36
|
+
```HTML
|
37
|
+
<input type="password" name="password" id="password01" maxlength="1"
|
38
|
+
onkeyup="moveOnMax(this,'password02','password01')">
|
39
|
+
<input type="password" name="password" id="password02" maxlength="1"
|
40
|
+
onkeyup="moveOnMax(this,'password03','password01')">
|
41
|
+
<input type="password" name="password" id="password03" maxlength="1"
|
42
|
+
onkeyup="moveOnMax(this,'password04','password02')">
|
43
|
+
<input type="password" name="password" id="password04" maxlength="1"
|
44
|
+
onkeyup="moveOnMax(this,'password04','password03')">
|
45
|
+
```
|
46
|
+
|
36
47
|
入力後、次のフィールドへのフォーカスすることができなくなりました。
|
37
48
|
また、エラーは無くなりましたが、else ifの方にconsole.logでprevFieldeIDを出力すると、入力した際にもコンソールにprevFieldeIDの値が出力されてしまっています。
|
38
49
|
else ifの内容も else if (field.value.length < 1)に変えたのですが、このif分の指定がそもそも間違っているのでしょうか?
|
6
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
if (field.value.length == 1) {
|
29
29
|
document.getElementById(nextFieldID).focus();
|
30
30
|
} else if (field.value.length < 1) {
|
31
|
-
document.getElementById(
|
31
|
+
document.getElementById(prevFieldID).focus();
|
32
32
|
}
|
33
33
|
}
|
34
34
|
```
|
5
文の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -33,6 +33,6 @@
|
|
33
33
|
}
|
34
34
|
```
|
35
35
|
|
36
|
-
入力後次のフィールドへのフォーカスすることができなくなりました。
|
36
|
+
入力後、次のフィールドへのフォーカスすることができなくなりました。
|
37
37
|
また、エラーは無くなりましたが、else ifの方にconsole.logでprevFieldeIDを出力すると、入力した際にもコンソールにprevFieldeIDの値が出力されてしまっています。
|
38
38
|
else ifの内容も else if (field.value.length < 1)に変えたのですが、このif分の指定がそもそも間違っているのでしょうか?
|
4
コード修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -24,20 +24,15 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
```javascript
|
27
|
-
moveOnMax = function (field, nextFieldID) {
|
27
|
+
moveOnMax = function (field, nextFieldID,prevFieldeID) {
|
28
28
|
if (field.value.length == 1) {
|
29
29
|
document.getElementById(nextFieldID).focus();
|
30
|
-
} else if (field.value.length
|
30
|
+
} else if (field.value.length < 1) {
|
31
|
-
let prevFielde = nextFieldID.slice(8, 10);
|
32
|
-
let prevFieldeID = Number(prevFielde)-2;
|
33
|
-
document.getElementById(
|
31
|
+
document.getElementById(prevFieldeID).focus();
|
34
|
-
|
35
32
|
}
|
36
33
|
}
|
37
34
|
```
|
38
35
|
|
39
|
-
```
|
40
|
-
|
36
|
+
入力後次のフィールドへのフォーカスすることができなくなりました。
|
37
|
+
また、エラーは無くなりましたが、else ifの方にconsole.logでprevFieldeIDを出力すると、入力した際にもコンソールにprevFieldeIDの値が出力されてしまっています。
|
41
|
-
|
38
|
+
else ifの内容も else if (field.value.length < 1)に変えたのですが、このif分の指定がそもそも間違っているのでしょうか?
|
42
|
-
```
|
43
|
-
一番左のフィールドに入力した際と二番目に入力した際、三番目、二番目、一番目を削除した際にこのエラーが出ます。
|
3
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -27,14 +27,13 @@
|
|
27
27
|
moveOnMax = function (field, nextFieldID) {
|
28
28
|
if (field.value.length == 1) {
|
29
29
|
document.getElementById(nextFieldID).focus();
|
30
|
-
|
31
|
-
}else if (field.value.length == 0) {
|
30
|
+
} else if (field.value.length == 0) {
|
32
31
|
let prevFielde = nextFieldID.slice(8, 10);
|
33
|
-
let prevFieldeID = Number(prevFielde-2
|
32
|
+
let prevFieldeID = Number(prevFielde)-2;
|
33
|
+
document.getElementById("password0" + String(prevFieldeID)).focus();
|
34
34
|
|
35
|
-
document.getElementById("password0" + String(prevFieldeID - 2)).focus();
|
36
|
-
|
37
35
|
}
|
36
|
+
}
|
38
37
|
```
|
39
38
|
|
40
39
|
```
|
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -40,4 +40,5 @@
|
|
40
40
|
```
|
41
41
|
エラーメッセージ
|
42
42
|
Uncaught TypeError: Cannot read property 'focus' of null
|
43
|
-
```
|
43
|
+
```
|
44
|
+
一番左のフィールドに入力した際と二番目に入力した際、三番目、二番目、一番目を削除した際にこのエラーが出ます。
|
1
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,8 +12,6 @@
|
|
12
12
|
<input type="password" name="password" id="password04" maxlength="1">
|
13
13
|
```
|
14
14
|
|
15
|
-
### 該当のソースコード
|
16
|
-
|
17
15
|
```javascript
|
18
16
|
moveOnMax = function (field, nextFieldID) {
|
19
17
|
if (field.value.length == 1) {
|