質問編集履歴

2

20201113の部分から下を追記しました。htmlのソースコード等も一部変更しています。

2020/11/13 02:40

投稿

noah_is_over
noah_is_over

スコア5

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- ![製作中のページ](386bb598728b214e2fadf98aea375333.png)
7
+ ![初期画面](a836019b87ede652ac6c67b64ecae84a.png)
8
8
 
9
9
 
10
10
 
@@ -88,7 +88,7 @@
88
88
 
89
89
  <div class="main-wrapper">
90
90
 
91
- <h1 id="target">テスト(target)</h1>
91
+ <h1 id="target">テスト(id="target")</h1>
92
92
 
93
93
  <h1 class="section-title">患者データ</h1>
94
94
 
@@ -116,7 +116,7 @@
116
116
 
117
117
  <td>太郎</td>
118
118
 
119
- <td id="dt">ここにスプレッドシートのデータを挿入したい</td>
119
+ <td id="dt">ここにスプレッドシートのを挿入したい</td>
120
120
 
121
121
  <td>in</td>
122
122
 
@@ -126,7 +126,7 @@
126
126
 
127
127
  <td>次郎</td>
128
128
 
129
- <td>ここにスプレッドシートのデータを挿入したい</td>
129
+ <td></td>
130
130
 
131
131
  <td>out</td>
132
132
 
@@ -136,7 +136,7 @@
136
136
 
137
137
  <td>三郎</td>
138
138
 
139
- <td>ここにスプレッドシートのデータを挿入したい</td>
139
+ <td></td>
140
140
 
141
141
  <td>in</td>
142
142
 
@@ -146,7 +146,7 @@
146
146
 
147
147
  </table>
148
148
 
149
- <h1 id="pass"></h1>
149
+
150
150
 
151
151
  <script src="table.js"></script>
152
152
 
@@ -214,7 +214,7 @@
214
214
 
215
215
  //dtをtargetにした場合は成功(テスト(target)が10月06日_17:08に書き換わった)
216
216
 
217
- document.getElementById('dt').textContent = text;
217
+ document.getElementById('渡したい場所のid').textContent = text;
218
218
 
219
219
  });
220
220
 
@@ -285,3 +285,75 @@
285
285
  どう改良すれば狙い通りに動いてくれるかご教示願いたいと思います。こういうことじゃないか、という推測だけでも大変助かります。
286
286
 
287
287
  初学者であるため拙い状況説明ですがどうぞよろしくお願いいたします。
288
+
289
+
290
+
291
+ #(追記20201113)渡したidのパターンごとの結果
292
+
293
+ ご指摘を受け以下を追記します。画像ばかりで長くなりますがご了承ください。
294
+
295
+ 上から2つのパターンにおけるhtmlの書き換えはなく、table.jsのgetElementByIdの引数のみを変更しています。
296
+
297
+
298
+
299
+
300
+
301
+ **scriptのgetElementById("target")の場合**
302
+
303
+ この場合は想定通りの動作をします。コンソールにエラーもありません。
304
+
305
+ ![イメージ説明](35f59816364091ab33c72bba641003a5.png)
306
+
307
+
308
+
309
+ **scriptのgetElementById("dt")の場合**
310
+
311
+ 下の画像の通りここに~の部分が変化しておらずコンソールにも同様のエラーが出ています。
312
+
313
+ ![イメージ説明](10476bde26910137a3001a9083eed78c.png)
314
+
315
+
316
+
317
+ **htmlのtable内外にstatusという同じidを2つつけ、それを引数として渡した場合**
318
+
319
+ この場合はtable外部のidにのみ値が反映されていて、コンソール上にエラーもありませんでした。
320
+
321
+ ```html
322
+
323
+ <div class="main-wrapper">
324
+
325
+ <h1 id="target">テスト(id="target")</h1>
326
+
327
+ <h1 class="section-title">患者データ</h1>
328
+
329
+ <h1 id="status"></h1> //ここと
330
+
331
+ <table id="student-table">
332
+
333
+ <thead>
334
+
335
+ <tr>
336
+
337
+ <th>氏名</th>
338
+
339
+ <th>最終更新日時</th>
340
+
341
+ <th id="status">ステータス</th> //ここ
342
+
343
+ </tr>
344
+
345
+ </thead>
346
+
347
+ <tbody>
348
+
349
+ ```
350
+
351
+
352
+
353
+ ![イメージ説明](ef2afb6f8be992e4e21bb61fce4cc2ee.png)
354
+
355
+
356
+
357
+ 以上のことから、スコープの問題?と考えますが全く解決に至りません...。
358
+
359
+ ご意見お願いいたします。

1

追記部分を足しました。また、ソースコードでご指摘いただいた部分を一部修正しました。

2020/11/13 02:39

投稿

noah_is_over
noah_is_over

スコア5

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,25 @@
22
22
 
23
23
 
24
24
 
25
+ #(追記)問題・エラーメッセージ
26
+
27
+ エラーは下の通り出ました。表上のここに~の部分をid="dt"で指定するとこの結果が返って狙った処理ができません。しかし、テスト(target)の部分をid="target"で指定するとしたの画像のように出るため、tdタグに対する指定の方法を考えています。
28
+
29
+ ```
30
+
31
+ Uncaught (in promise) TypeError: Cannot set property 'textContent' of null
32
+
33
+ at table.js:8
34
+
35
+ ```
36
+
37
+ ![成功例](e7185a6dc4e0ae06e3fe76e84f597318.png)
38
+
39
+
40
+
41
+
42
+
25
- #ソースコード・エラー文
43
+ #ソースコード
26
44
 
27
45
 
28
46
 
@@ -108,7 +126,7 @@
108
126
 
109
127
  <td>次郎</td>
110
128
 
111
- <td id="dt">ここにスプレッドシートのデータを挿入したい</td>
129
+ <td>ここにスプレッドシートのデータを挿入したい</td>
112
130
 
113
131
  <td>out</td>
114
132
 
@@ -118,7 +136,7 @@
118
136
 
119
137
  <td>三郎</td>
120
138
 
121
- <td id="dt">ここにスプレッドシートのデータを挿入したい</td>
139
+ <td>ここにスプレッドシートのデータを挿入したい</td>
122
140
 
123
141
  <td>in</td>
124
142
 
@@ -244,17 +262,11 @@
244
262
 
245
263
 
246
264
 
247
- ```
265
+
248
-
249
- Uncaught (in promise) TypeError: Cannot set property 'textContent' of null
266
+
250
-
251
- at table.js:8
267
+
252
-
253
- ```
268
+
254
-
255
-
256
-
257
- 上から、html、javascript、GASのコード、エラーメッセージです。一部省略しています。
269
+ 上から、html、javascript、GASのコードです。一部省略しています。
258
270
 
259
271
  main-wrapper内のtargetというidはテーブル外部であればデータを参照することができるかと考えたときのテストです。コメントにもありますがその場合は参照ができていました。
260
272