0

複数のページに分割したい長いフォームがあります。

プレゼンテーションの 2 つのオプションを評価しています。

  1. FormWizardを使用して複数のページにフォームを表示する
  2. CSS3のスライダーのようなスライダーでフォームを表示します。

スライダーは、CSS3 を使用してスライドの印象を与える 1 ページの長さです。すべてのコンテンツ領域を隣り合わせにフロートさせ、オーバーフローを非表示にし、width5 つのスライドがある場合はページを 500% に設定し、左マージンを -100% 移動して次のスライドを表示します。したがって、すべて1ページですが、フォームがスライドページに表示されているようです.

私にとって、スライダー アプローチの利点は、フォームが 1 つしかなく、ユーザーがフォームをスライドの最後に 1 回だけ送信するため、前後に移動して変更を加えることができることです (これは一般的なケースです)。

ミニフォームを使用FormWizardして各ページの後に送信することとは対照的です。FormWizards特にユーザーが以前のページの応答を変更したい場合は、複雑に思えます。フォームページも必要ですが、最後のページでのみ受け入れるFileFieldようです。FormWizardFileField

ただし、このスライド フォーム (CSS3 または JScript のいずれか) アプローチを使用している人はあまり見たことがありません。したがって、初心者として、これを行う際に明らかな落とし穴があるかどうか疑問に思っていますか?

4

1 に答える 1

1

FormWizard私は以前にそれを使用したことについてしか書くことができません。にあるDjangoドキュメントの「ファイルの処理」セクションによると

https://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizard/

aFileFieldは、実装のどのステップでも使用できますFormWizardFormWizardDjango から使用することで本当に役に立ったのは、 Forms. つまり、フォームの作成と操作、各ステップでのフィールドの検証などを簡単に行うことができます。CSS3 スライダーがどのように検証を実行するかはわかりませんが、検証はクライアント側で行う必要があると思います。

さらに、DjangoFormWizardは Cookie ストレージ バックエンドまたはセッション ストレージ バックエンドのいずれかを使用して情報を保存します。これにより、ステップ間のナビゲーションと以前に保存されたデータの変更が非常に簡単になります。

私はあなたの決定であなたを助けたことを願っています! FormWizardもちろん、上記のリンクにある Django のドキュメントには、さらに多くの情報があります。

于 2012-07-03T08:49:56.367 に答える