回答編集履歴

4

段落

2019/03/11 04:00

投稿

FKM
FKM

スコア3608

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- ***補足
13
+ 【エラーの原因について】
14
14
 
15
15
  スクリプトの記述がひょっとして、htmlを読み出す前じゃないでしょうか?
16
16
 

3

そもそも想定と違う

2019/03/11 04:00

投稿

FKM
FKM

スコア3608

test CHANGED
@@ -1,6 +1,10 @@
1
- getNumには残り文字数が返っていますが、if文は10文字未満かという制御しかされていませんね
1
+ 質問者意図と異なる値が返されているのが原因です
2
2
 
3
+ getNumには入力文字数ではなく、**残り入力できる文字数**が返っています。
4
+
5
+
6
+
3
- 0文字以上という制御付けないとif文の判定でtrueを返します。
7
+ ですが、if文は10文字未満かという制御しかされていませんね。なので、0文字以上という制御付けないとif文の判定でtrueを返します。
4
8
 
5
9
 
6
10
 

2

根本の修正点

2019/03/11 03:29

投稿

FKM
FKM

スコア3608

test CHANGED
@@ -1,3 +1,13 @@
1
+ getNumには残りの文字数が返っていますが、if文は10文字未満かという制御しかされていませんね。
2
+
3
+ 0文字以上という制御も付けないとif文の判定でtrueを返します。
4
+
5
+
6
+
7
+
8
+
9
+ ***補足
10
+
1
11
  スクリプトの記述がひょっとして、htmlを読み出す前じゃないでしょうか?
2
12
 
3
13
  そうだとするとinnerHTMLプロパティはセレクタが読み取れないのでnullを返してしまうエラーとなり、何も動きません。

1

補足

2019/03/11 03:26

投稿

FKM
FKM

スコア3608

test CHANGED
@@ -4,4 +4,10 @@
4
4
 
5
5
 
6
6
 
7
- なので、htmlより後にそのテムを記述する必要がありますね(そうすると、システムはちゃんと動きました)
7
+ なので、htmlより後にそのスクリプトを記述する必要がありますね(そうすると、システムはちゃんと動きました)
8
+
9
+
10
+
11
+ 補足
12
+
13
+ javascriptはどこに記述してもいいのではなく、記述した位置によって読み込む順番が変わるので、ロード時にhtmlからセレクタの要素を取得、操作したりする場合は必ずhtmlより後に記述するか、bodyタグにonLoadイベントなどを与えるかする必要があります。