1

ブラウザーが閉じられているとき、またはユーザーがページを変更したときに、ユーザー データをフォームに自動保存する方法を理解するのに苦労しています。ダイアログボックスを開きたい場合は onBeforeUnload イベントで問題ありませんが、それまでに変更を保存するには遅すぎます (サーバーに要求を渡すのに十分な時間、onBeforeUnload ハンドラーでブラウザーをブロックする場合を除きます...しかし、私はむしろそれをしたくない)。

保存されていないフォームの問題に対処しなければならなかった方もいらっしゃると思います。職業はなんですか?あなたは:

  • ユーザーが変更を失うだけで、
  • モーダル ウィンドウを使用して、正しいことをしたかどうかを尋ねます。
  • 個々のフィールドが変更されたときにその場で保存し、
  • または、データが取り返しのつかないほど失われようとしているときに、データを自動的に保存する究極の方法はありますか?
4

3 に答える 3

3

•モーダル ウィンドウを使用して、正しいことを行っているかどうかを尋ねます。

ウィンドウを閉じることはキャンセルの行為です。ユーザーがフォームを積極的に送信したことがないため、データの保存を望んでいるという保証はなく (正しくない可能性があります)、データを保存するとユーザーに問題が発生する可能性があります。

于 2009-09-03T20:48:59.853 に答える
1

私はあなたの3番目のオプションが好きです:

  • 個々のフィールドは、変更されたときにその場で保存します。

私は同じような状況に対処しなければなりません、そしてそれは私たちがしていることです。それを私に売る2つの主なもの:

  1. ユーザーエクスペリエンスの向上-ユーザーは、変更を失わないフォームに感銘を受けます。検証されると、「コミット」されます。たとえば、彼は有効な電子メールアドレスを入力すると、すぐに保存されます。さらに、保存に成功したフィールドごとに何らかのフィードバックが提供されます(たとえば、フィールドの横に緑色のチェックマークが表示されます)。
  2. これ以上'ブラウザがクラッシュし、すべての情報が失われました'状況。

短所:そのようなソリューションの開発に伴う余分な工数、およびおそらくそれがより単純なソリューションほどうまく劣化しないことになる可能性があります。そうは言っても、それでもIMOの価値はあります。

于 2009-09-03T21:10:01.750 に答える
0

私が使用したどのブラウザでも、onBeforeUnload はモーダル ウィンドウを提供し、ユーザーにページを離れたいかどうかを確認するように求めます。保存されていないデータがあることを警告する独自のテキストを追加して、決定に役立てることができます。ユーザーの要求なしに明示的に保存したくない理由は、a) ユーザーが保存を試みていない、および b) 検証エラーをスローする必要がある場合、ページが既に移動中のため手遅れになるためです。あちらへ。

于 2009-09-03T21:01:57.793 に答える