質問編集履歴

2

コードの記入

2021/07/06 12:41

投稿

masaof
masaof

スコア7

test CHANGED
File without changes
test CHANGED
@@ -316,7 +316,7 @@
316
316
 
317
317
 
318
318
 
319
- ____________________________________________
319
+ ___________________________________________
320
320
 
321
321
 
322
322
 

1

コードの記入

2021/07/06 12:41

投稿

masaof
masaof

スコア7

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,284 @@
14
14
 
15
15
 
16
16
 
17
+ ``` html
18
+
19
+ <body>
20
+
21
+
22
+
23
+ <table>
24
+
25
+ <p class="line-block" >検索</p>
26
+
27
+
28
+
29
+ <form method="post" action="ID">
30
+
31
+ <tr>
32
+
33
+ <th>名前</th>
34
+
35
+ <!-- <td><input name="enp_name" type="select" id="enp_name" > <input type="submit" value="検索"></td> -->
36
+
37
+ <td>
38
+
39
+ <script>
40
+
41
+
42
+
43
+ //スプレッドシート側からデータを取得する
44
+
45
+ google.script.run.withSuccessHandler(onSuccess2).dropman();
46
+
47
+
48
+
49
+ //取得したデータでドロップダウンメニューを作って設置
50
+
51
+ function onSuccess2(data){
52
+
53
+ var json = JSON.parse(data);
54
+
55
+ var datalength = json.length;
56
+
57
+
58
+
59
+ //ラベルを入れる
60
+
61
+ var name_html = "";
62
+
63
+ //selectタグの頭を入れる
64
+
65
+ name_html += "<select title='プルダウンより選択'><option>名前を選択</option>";
66
+
67
+ //HTMLデータの生成
68
+
69
+ for(var i = 0;i<datalength;i++){
70
+
71
+ //空データの場合ループ脱出
72
+
73
+ if(json[i] == ""){
74
+
75
+ break;
76
+
77
+ }
78
+
79
+ //オプション項目を追加
80
+
81
+ name_html += "<option>" + json[i] + "</option>";
82
+
83
+ }
84
+
85
+ //selectタグの下を入れる
86
+
87
+ name_html += "</select>";
88
+
89
+ //プルダウンメニューを設置する
90
+
91
+ document.getElementById("pulldown").innerHTML = name_html;
92
+
93
+ }
94
+
95
+ </script>
96
+
97
+ <!-- ドロップダウンメニュー設置場所 -->
98
+
99
+ <div >
100
+
101
+ <span class="line-block" style="text-align" id="pulldown";></span>
102
+
103
+ <input class="line-block" name="enp_name" type="submit" value="検索">
104
+
105
+ </div>
106
+
107
+ </td>
108
+
109
+ </tr>
110
+
111
+ </form>
112
+
113
+
114
+
115
+ <tr>
116
+
117
+ <th>リンク</th>
118
+
119
+ <td>
120
+
121
+ <div >
122
+
123
+ <span id="link">
124
+
125
+ <textarea name="link" id="link" cols="110" rows="1" type="text">
126
+
127
+ <?= poplink() ?>
128
+
129
+ </textarea>
130
+
131
+ </span>
132
+
133
+ </div>
134
+
135
+ </td>
136
+
137
+ </tr>
138
+
139
+
140
+
141
+ <tr>
142
+
143
+ <th>補足</th>
144
+
145
+ <td>
146
+
147
+
148
+
149
+ <div >
150
+
151
+ <span id="introduction_Box">
152
+
153
+ <textarea name="introduction_Box" id="introduction_Box" cols="70" rows="18" type="text">
154
+
155
+ <?= popintroduction() ?>
156
+
157
+ </textarea>
158
+
159
+ </span>
160
+
161
+ </div>
162
+
163
+
164
+
165
+ </td>
166
+
167
+ </tr>
168
+
169
+
170
+
171
+ <tr>
172
+
173
+ <td><button class="btn" name="copy" type="button">コピー</button></td>
174
+
175
+ </tr>
176
+
177
+ </table>
178
+
179
+
180
+
181
+ ```
182
+
183
+ ```GAS
184
+
185
+ var sheet = "ID";
186
+
187
+
188
+
189
+ function doGet() {
190
+
191
+
192
+
193
+ var html = HtmlService.createTemplateFromFile('top.html').evaluate();
194
+
195
+ html.setTitle("社員情報");
196
+
197
+ html.setFaviconUrl("https://drive.google.com/uc?id=13wY_LsPFagcYs2UwCAkn4WeBNS3hnu__&.ico");
198
+
199
+ return html;
200
+
201
+ }
202
+
203
+
204
+
205
+
206
+
207
+ //ドロップダウン用データをHTML側に返してあげる関数
208
+
209
+ function dropman(){
210
+
211
+
212
+
213
+ //シートを取得
214
+
215
+ var list = SpreadsheetApp.openById(sheet).getSheetByName("一覧").getRange("B2:B").getValues();
216
+
217
+ Logger.log(list.length);
218
+
219
+ //取得データを返す
220
+
221
+ return JSON.stringify(list);
222
+
223
+ }
224
+
225
+
226
+
227
+ function doPost(e) {
228
+
229
+
230
+
231
+ var nameoutput = SpreadsheetApp.openById(sheet).getSheetByName("検索");
232
+
233
+ var enp_name = JSON.parse(e.postData.getDataAsString());
234
+
235
+
236
+
237
+ nameoutput.getRange(2,3).setValue(enp_name);
238
+
239
+
240
+
241
+ }
242
+
243
+
244
+
245
+ //リンクをHTML側に返してあげる関数
246
+
247
+ function poplink(){
248
+
249
+
250
+
251
+ //シートを取得
252
+
253
+ var list = SpreadsheetApp.openById(sheet).getSheetByName("検索").getRange("C6").getValue();
254
+
255
+ Logger.log(list);
256
+
257
+
258
+
259
+ //取得データを返す
260
+
261
+ return list;
262
+
263
+
264
+
265
+ }
266
+
267
+
268
+
269
+ //補足文をHTML側に返してあげる関数
270
+
271
+ function popintroduction(){
272
+
273
+
274
+
275
+ //シートを取得
276
+
277
+ var list = SpreadsheetApp.openById(sheet).getSheetByName("検索").getRange("C4").getValue();
278
+
279
+ Logger.log(list);
280
+
281
+ //取得データを返す
282
+
283
+ return list;
284
+
285
+
286
+
287
+ }
288
+
289
+
290
+
291
+ ```
292
+
293
+
294
+
17
295
  ### 発生している問題・エラーメッセージ
18
296
 
19
297