回答ボタンを複数表示させることは可能でしょうか?

Kintoneで作成したアプリの入力フォームをフォームブリッジで

作成しております。

画面が縦に長くなるため、ステップフォームを利用して、4ページに

分割しました。

そこで、ステップフォームの各フォームにそれぞれ「回答」ボタン

表示させることは可能でしょうか?

アンケート入力を考えておりますが、入力者が最後のページまで

遷移せずとも、Kintoneに登録ができるようにしたいと考えております。

あるいは、リンクから最終ページの「回答」ボタンまでスクロールが

できる方法でもよいと考えております。

どなた様か、お知恵を拝借できませんでしょうか。

どうぞよろしくお願い申し上げます。

 

1つのフォームをカスタマイズしていくより、複数のフォームを用意して、組み合わせるカスタマイズをすると良さそうな印象です。

 

例えば、以下のような構成はどうでしょう?

  • ステップ分のフォームを作成する

  - 仮にフォーム1, フォーム2, フォーム3, フォーム4とする

  - それぞれ、必要なフィールドだけのフォーム

  - フォーム1〜3は多言語化の設定で、「回答」を「一時回答」など適当なボタン名にする

  - フォーム1〜3は回答画面にHTMLで、一時回答が完了し次のフォームに移動する旨のメッセージを表示する

  • kViewerでMyページビューを作成する

  • フォーム1〜3はMyページ連携を行う

  • フォーム1〜3にJSカスタマイズで、fb.events.finish.created イベントで次のフォームに編集扱いとなるURLにリダイレクトさせる

 

フォーム1からフォーム2に移動すつJSの例

(function() {
"use strict";

const form2Url = 'https://form.kintoneapp.com/public/form/show/***';

fb.events.finish.created = [function (state) {
const viewCode = state.record. __kViewerViewCode__.value
const recordCode = state.record. __kViewerRecordCode__.value
// フォーム1からフォーム2に移動
location.href = form2Url + '? __kViewerViewCode__ =' + viewCode + '& __kViewerRecordCode__ =' + recordCode
}];
})();

 

以上、参考になりますでしょうか?

落合 様

 大変詳細なご説明をいただきまして、まことにありがとうございます。
発想の転換でございますね。
私の了見が狭かったと反省いたしております。
早速試させていただきたく存じます。
結果は追ってご報告させていただきます。

本当にありがとうございました。

落合様

  平素は大変お世話になっております。
先日は大変詳しいご回答をいただきまして、まことにありがとうございます。
ご教示いただきました方法で実装してみました。

通常、KViewerに紐づけた フォームブリッジ編集画面では、ご教示のとおり、
フォームブリッジURLに、__kViewerViewCode__=36f27c479985f00974・・・
&__kViewerRecordCode__=def502003e8497312b15・・・ の文字列が入る
と存じます。
まず、フォームを2個作りまして、フォーム1側にご教示いただいたフォーム1
から2へ移動するjsを「カスタマイズ」より登録いたしました。
ところが、回答画面からページ2へ移動できず、「Resource not found」と
表示されてしまいました。

JSの中の、

const viewCode = state.record.__kViewerViewCode__.value
const recordCode = state.record.__kViewerRecordCode__.value
の__kViewerViewCode_や、__kViewerRecordCode__は、このように
記述すると、ビューコードやレコードコードを代入してくれる
変数となるのでしょうか?
理解不足で申し訳ございません。こちらをご教示いただけると幸甚でございます。
どうぞよろしくお願い申し上げます。

 

 

Myページ連携を行っている場合、回答が正常にkintoneに保存できると、レコード情報に __kViewerViewCode__ や __kViewerRecordCode__ に値が入ってきます。

そのため、kintoneへの登録ができていないのであれば、レコード情報に編集に必要なデータは追加されていないかと思います。

 

 

デバッグ方法に関しては、developer network にもいくつか記事がありますので、参考にされると良いかと思います。

 

以上、参考になりますでしょうか?

落合 様

 早々のご回答、まことにありがとうございます。
大変よく理解できました。

ありがとうございます。ご教示通り、デバッグを行い、値が取得できているか確認させていただきます。
ありがとうございました。

落合 様

 この度は大変詳しいご教示をいただきまして、まことにありがとうございました。
おかげさまで、フォーム1で途中回答した項目は無事に フォーム1に紐づいたアプリ1
に保存することができました。
また、フォーム1の回答完了画面よりフォーム2に自動遷移することもできました。
ありがとうございました。

良かったです(^^)

また、なにかありましたらご質問ください!