ユーザーがモーダルウィンドウで開く設定を完了する必要があるアプリケーションに取り組んでいます。この状況でのベストプラクティスについては、大きな議論がありました。
正しい方法は、
入力する情報が多く、プロセスに時間がかかるので、それが最良の解決策かどうかはわかりません。続行するウィンドウ。
私たちは必要だと思います CancelSave そして Close。
どうしたら...
ユーザーがいくつかの情報を入力し、
クリック Close 保存せずに?
モーダルで「保存せずに終了してもよろしいですか」モーダル?
それは正しく聞こえません。
このシナリオのベストプラクティスは何ですか?
理想的には、このシナリオでは、[保存]、[クリア]、[閉じる]ボタンがあれば十分です。
作業フォームを時々保存したい場合、ユーザーがデータを保存せずにウィンドウを閉じるという問題に遭遇することはないと思います(AJAXを使用している場合)。
データを非同期で保存しない場合は、モーダル内にモーダルを表示するのではなく(よくない)、答えられなかった質問を強調表示し、フォームのそれらの領域にユーザーを案内します(一般的なエラーメッセージのように)現在のモーダルの上に)。
同様の問題が発生しました。ユーザーが入力する情報はおそらく少ないので、おそらく2つのボタンのソリューションを選択します:キャンセル(変更をキャンセルしてモーダルを閉じる)および保存(変更を保存そしてモーダルを閉じる)
私にとって、3つのボタンの選択肢は、状況に応じて最適です。これは、閉じる前に視覚的な変更を適用および確認するためにも完全に適合しています。
ただし、3つのボタンの代替。私はキャンセル(変更をキャンセルしてモーダルに留まる)、適用(変更を保存してモーダルに留まる)および保存して終了に投票します=(キャンセルされない場合は変更を保存し、モーダルを閉じます)。閉じるボタンをより詳細なテキストに置き換えると、ユーザーは閉じるボタンを押したときに何が起こるかを正確に知ることができます。
入力する情報が多く、処理に時間がかかる
3つのオプションを検討してください...
明らかに、これは長い形式での危険な動きです。可能であれば、安全のために完了する前にユーザーが終了する可能性がありますが、その後、完了するまで戻る必要があり、それは悲惨な経験です。 ????
保存と送信を分離することで、手動で段階的に保存できます。それは機能しますが、ユーザーは現在、何か他のことに夢中になっています:フォームに記入する!今、彼らは、どれだけの進歩を遂げたか、そして彼らが最後に救ったのはいつだったかを考えなければなりません。 ????
ここではいくつかの考慮事項がありますが、一般的に言えば、進行状況が(おそらくぼかしで)行われるときに節約します。便利な小さなインジケーターがすべてが安全であることをユーザーに安心させながら、ユーザーは手元のタスクに集中できます。 ????
データの整合性とフォームの完全性が重要である一部のワークフローでは、保存しておくと、望ましくない副作用が生じる可能性があります。これらのシナリオでは、「ドラフト」状態を実装すると便利です。フォームは変更が加えられると保存されますが、実際のレコードはユーザーが送信を確認するまで更新されません。ドラフトの更新は、通常のワークフローのニーズに応じて(どこで完了するか)、ローカルまたはサーバーに保存できます。