スプラウトフォーム内でスプラウトフォームを使用しますか?

私はメンバーが毎日記入する質問のフォームを持っているウェブサイトを作っています。しかし、この形式の中には、毎日常に同じ質問がありますが、毎日異なる回答があります(それは日記のようですが、さまざまな分野で構成されています)。

フォームがほぼ他のものに「埋め込まれている」ために、Sproutフォームには方法がありますか?そのため、埋め込みフォームのフィールドが変更された場合、フィールドが含まれているすべての親フォームに変更されます。

私が現在それを行うと考えることができる唯一の方法は、メインとダイアリーの2つのタブを持つフォームを作成することです。メインタブにはその日の特定のフィールドが表示され、日記タブには毎日尋ねられる質問が設定されます。そして、私は別のフォームに日記欄を複製し、それらをメインタブで変更するために「別名で保存」を行います。問題は、日記の構造が変更/更新された場合、手動でこれを30回程度行う必要があるということです。

ベストアンサー

フォームにスプラウトフォームのフォームを追加する既定の方法はありません。提案された手動ソリューションはまともなアプローチのようですが、既存のフォームで質問を変更すると、レポートの履歴データも変更されます。

2つの形式のアプローチ

より簡単なアプローチは、プロセスを2つの形式にすることです。主要な質問には変更されない主要なフォームと、ユーザーが行う質問のためにユーザーに指示される第2のフォームがあります。フォーム・リレーションをグローバル・フィールドまたは特定のシングルに使用して、どのセカンダリ・フォームが必要かを割り当てることができ、スプロット・フィールド隠しフィールドを介してIDを追跡するか、カスタム・フロントエンド・フィールドを開発することによって、よりユーザーフレンドリーな方法で関係を作成しました。

2つのフォームを使用すると、正確な履歴データを維持し、長期的には維持管理が容易になる既存の機能を活用するのに役立ちます。

カスタムフィールドアプローチ

より推測的に、これを行うのに役立つカスタムプラグインとカスタムフィールドを開発する可能性があります。それは間違いなく計画を少し必要とし、私はおそらくこのルートに行くことに反対して投票するだろうが、あなたが直面するだろういくつかの課題を強調するために、ここにいくつかの最初の考えがあります:

  • 変更されるフィールドはおそらく同様の方法でデータを保存する必要があります。変更する必要があるすべてのフィールドがプレーンテキストフィールドの場合は、異なるタイプのフィールドに関連する質問を交換する必要がある場合よりも、解決しようとする方が問題の方がはるかに簡単です。質問の数も同じままであれば、より簡単になるでしょう。
  • Sprout
    Formsは作成された各フォームにフィールドをローカルに格納するため、フィールド設定を使用してグローバル属性を制御することはできません。別のカスタムフィールドプラグイン設定エリアが必要ですフィールドが使用されているすべてのインスタンスにわたって変更される質問。
  • ヒストリカルデータに関するレポートを作成する方法については、いくつかの課題に直面している可能性があります。最初の1か月の質問に対する回答が、2か月のデータに対する回答以外の異なる質問に関連している場合、フォーム提出の一部として回答された質問を保存して、応答は実際に参照していました。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です