2012-05-09 11 views
11

誰もがその動作を知っていると確信しています。あなたはウェブ上のフォームに記入し、提出します。提出後、間違ったデータを入力したことを認識します。したがって、ブラウザの戻るボタンをクリックします。その後、フォームにはまだ入力したデータが(この状況では何を望んでいるのでしょうか)と時々ありません。ブラウザの戻るボタンをクリックするとHTMLフォームがクリアされるのはなぜですか?

クリアされていないと接続できませんでした。

私はインターネット/ stackoverflowの上で見つかったいくつかの答え:https接続上の

  • 、フォームは常にセッションで動的なWebサイトを使用した場合、フォームは常に

しかし、両方をクリアしている

  • をクリアしています彼らの間違いは間違いです。私はブラウザの後にフォームデータを保持しているサイト(自分のもののようなもの)を見ましたはhttps がセッションを使用しています。

    お願いします。ブラウザがこのようなことをどのように処理しているのか誰にでも教えてください。

    ところで私の仕事は、フォームデータがでなく、がクリアされていることを確認することです。

  • 答えて

    6

    すべてのシナリオで明確な答えを提供することはできません。ページの

    • 無効にする(HTTPヘッダを経由して)すべてのキャッシュあなたは:Web開発者として

      、ここで私は、一般的に、ユーザがデータを失わせないの目標を達成するために、私は開発のサイトについては、以下のルールがあります保持したい。

    • フォームが送信されるときに、すべてのデータをセッション(またはその他の一時記憶域)に取り込みます。
    • ユーザーが後方にナビゲートすると、ブラウザはキャッシュしないように設定しているため、新しいバージョンのページを要求します。
    • このページには、最後の入力状態に基づいて、セッション/データベース/すべてのフィールドをどこにでも再投入するロジックがあります。ページに動的な入力があった場合、それらを再作成するのに十分なデータが必要です。
    • プロセスが終了したら、POST/Redirect/GETパターンを使用してセッションデータを消去し、ユーザーが元のページに戻るのを困難にします。

    私はインターネット/ stackoverflowの上で見つかったいくつかの答え:
    1. https接続に、フォームは常にセッションで動的なWebサイトを使用した場合、フォームが

    を常にクリアされ
    2をクリアしています

    #1はブラウザ/セキュリティ設定/シナリオによって異なると私は考えている。

    仮定#2は確かにすべての場合に当てはまりません(ちょうど私ががセッションと動的フォームをに利用すると説明したパターン)。

    +0

    あなたの答えをありがとう。もちろん、あなたは自分のやり方で完全に正しいです。しかし、これは時にはかなりの作業です(特にこの動作を後で追加する必要がある場合)。ブラウザーだけが作業を行うことができれば、人生ははるかに簡単になります。これは私の質問がターゲットになっているところです。ブラウザに作業をさせる方法はありますか? – Gerwald

    2

    ブラウザの問題です。戻るボタンをクリックすると、ブラウザの動作が異なります。 この質問はここまでにお聞きしましたLosing form data when clicking the back button on browser

    +0

    大丈夫、ブラウザの問題であるとき:どのブラウザがどのように動作するのですか?例えば。モバイルSafari? もしそうなら、私が望むようにブラウザを動作させる方法は? (データを保持する) – Gerwald

    0

    あなたが提供したリンクがこの前に尋ねられましたが、この回答が1つ答えられるのは面白いと思います。ああ、受け入れられない回答もあります.....

    +0

    _no受け入れた回答_について:ティムの答えは素晴らしかったですが、彼が言及したように、それは単なる仮定であり、決定的な答えではありません。 – Gerwald

    関連する問題