質問するログイン新規登録

回答編集履歴

4

 

2022/02/22 16:22

投稿

退会済みユーザー
answer CHANGED
@@ -6,7 +6,7 @@
6
6
  .setGoToPage(FormApp.PageNavigationType.SUBMIT);
7
7
  ```
8
8
 
9
- to_2 に .setGoToPage(FormApp.PageNavigationType.SUBMIT)を設定することで、「to_2の**前**のセクション」の回答欄の下部に「送信」ボタンを表示できる"可能性"があります。(必ず表示できると言っているわけではありません。後述)
9
+ to_2 に .setGoToPage(FormApp.PageNavigationType.SUBMIT)を設定することで、「to_2の**前**のセクション」であるto_1の回答欄の下部に「送信」ボタンを表示できる"可能性"があります。(必ず表示できると言っているわけではありません。後述)
10
10
 
11
11
  たとえば手元の環境では、下記のコードで期待通りに動いています。
12
12
  ```js

3

 

2022/02/22 16:22

投稿

退会済みユーザー
answer CHANGED
@@ -2,7 +2,7 @@
2
2
  https://developers.google.com/apps-script/reference/forms/page-break-item#setgotopagenavigationtype
3
3
 
4
4
  ```
5
- const to_2 = form.addPageBreakItem().setTitle('進学について')
5
+ const to_2 = form.addPageBreakItem().setTitle('就職について')
6
6
  .setGoToPage(FormApp.PageNavigationType.SUBMIT);
7
7
  ```
8
8
 

2

 

2022/02/22 15:16

投稿

退会済みユーザー
answer CHANGED
@@ -6,7 +6,7 @@
6
6
  .setGoToPage(FormApp.PageNavigationType.SUBMIT);
7
7
  ```
8
8
 
9
- to_2にsetGoToPageを行うことで、「to_2の前のセクション」の回答欄の下部に「送信」ボタンを表示できる"可能性"があります(必ず表示できると言っているわけではありません。後述)
9
+ to_2 .setGoToPage(FormApp.PageNavigationType.SUBMIT)設定することで、「to_2の****のセクション」の回答欄の下部に「送信」ボタンを表示できる"可能性"があります(必ず表示できると言っているわけではありません。後述)
10
10
 
11
11
  たとえば手元の環境では、下記のコードで期待通りに動いています。
12
12
  ```js
@@ -46,6 +46,7 @@
46
46
  item.createChoice('進学', to_1),
47
47
  item.createChoice('就職', to_2),
48
48
  ]);
49
+ }
49
50
  ```
50
51
  しかしながら、**オブジェクトの生成・挿入順序によっては思い通りに行かない場合もある**ようです。
51
52
  質問者さんの手持ちのコードでもうまくいくかは(コードが一部しか記載されていないため)わかりかねます。

1

修正・追記

2022/02/22 15:13

投稿

退会済みユーザー
answer CHANGED
@@ -1,6 +1,64 @@
1
- セクションに対し、setGoToPage()メソッドで送信を設定してみてはいかがでしょうか。
1
+ すでに試されているかもしれませんが、送信を表示させたい**直後の**セクションに対し、setGoToPage()メソッドで送信を設定してみてはいかがでしょうか。
2
2
  https://developers.google.com/apps-script/reference/forms/page-break-item#setgotopagenavigationtype
3
+
3
4
  ```
4
- const to_1 = form.addPageBreakItem().setTitle('進学について')
5
+ const to_2 = form.addPageBreakItem().setTitle('進学について')
5
6
  .setGoToPage(FormApp.PageNavigationType.SUBMIT);
7
+ ```
8
+
9
+ to_2にsetGoToPageを行うことで、「to_2の前のセクション」の回答欄の下部に「送信」ボタンを表示できる"可能性"があります(必ず表示できると言っているわけではありません。後述。)
10
+
11
+ たとえば手元の環境では、下記のコードで期待通りに動いています。
12
+ ```js
13
+ function myFunction() {
14
+
15
+ const form = FormApp.getActiveForm()
16
+ form.setTitle('共通');
17
+
18
+ // 共通の選択肢の箱を作っておく
19
+ const item = form.addMultipleChoiceItem().setTitle('進路について').setRequired(true);
20
+
21
+ // セクション:進学
22
+ const to_1 = form.addPageBreakItem().setTitle('進学について');
23
+
24
+ //進学の選択肢
25
+ const item1 = form.addMultipleChoiceItem().setTitle('下記から、進学希望先を選択してください。').setRequired(true);
26
+ item1.setChoices([
27
+ item1.createChoice('大学'),
28
+ item1.createChoice('短大'),
29
+ ])
30
+
31
+ //セクション:就職
32
+ const to_2 = form.addPageBreakItem().setTitle('就職について');
33
+
34
+ // to_2の「前」のセクションの回答欄に、送信ボタンを表示
35
+ to_2.setGoToPage(FormApp.PageNavigationType.SUBMIT);
36
+
37
+ // 就職の選択肢
38
+ const item2 = form.addMultipleChoiceItem().setTitle('就職先はどの業種を希望していますか').setRequired(true);
39
+ item2.setChoices([
40
+ item2.createChoice('総合職'),
41
+ item2.createChoice('一般職'),
42
+ ]);
43
+
44
+ // 最後に共通の選択肢を設定
45
+ item.setChoices([
46
+ item.createChoice('進学', to_1),
47
+ item.createChoice('就職', to_2),
48
+ ]);
49
+ ```
50
+ しかしながら、**オブジェクトの生成・挿入順序によっては思い通りに行かない場合もある**ようです。
51
+ 質問者さんの手持ちのコードでもうまくいくかは(コードが一部しか記載されていないため)わかりかねます。
52
+
53
+
54
+ ---
55
+
56
+ 別解として、choiceそのものの遷移先にSUBMITを設定する方法もあります。
57
+ この場合、回答欄の下部に送信ボタンは表示されませんが、回答後、送信ボタンだけが表示されたページに遷移します。
58
+ ```js
59
+ const item1 = form.addMultipleChoiceItem().setTitle('下記から、進学希望先を選択してください。').setRequired(true);
60
+ item1.setChoices([
61
+ item1.createChoice('大学', FormApp.PageNavigationType.SUBMIT),
62
+ item1.createChoice('短大', FormApp.PageNavigationType.SUBMIT),
63
+ ])
6
64
  ```