2011-05-12 5 views
3

私はjqueryを使用して変更するフォームといくつかのdivを持っています。変更されたディビジョンは、戻るボタンにその値を保持しません。

フォーム送信時に、ユーザーは別のページに移動します。

ここで、ユーザーが戻るボタンを押すと、変更されたdivは保持されません。フォーム値のみが保持されます。

変更されたdivを保持するにはどうすればよいですか?または、少なくとも私はバックボタンでキャプチャできるイベントがあるはずですので、それらのdivを再変更することができます。

ありがとうございました。

答えて

1

Paulの答えを修正したものです:例えば、あなたが戻ってからもう存在しない入力要素を追加したなど、ユーザーの入力を失う場合は、そのような状態を追跡すればよいだけです。

HTMLの「静的な」入力要素にユーザーデータだけでDOM状態を再構成できる場合は、関数「onload」(またはDOM対応)を追加的にトリガーする必要があります。たとえば、あなたが/チェックボックスに応じて、div要素を隠す

言って、:

<input type="checkbox" id="myCheckBox" onclick="showHideMyDiv(this)"> 
<div id="myDiv"> ... </div> 

次に、あなたが実際にwindow.onloadを使用していない(window.onloadハンドラにイベントハンドラ(showHideMyDiv)の呼び出しを追加これは単なる例ですが、addEventListener/attachEventまたはjQueryなどのフレームワークを使用してください。

window.onload = function() { 
    showHideMyDiv(document.getElementbyId("myCheckBox")); 
} 

これは、ユーザーが最初に取得した方法とは独立して、または戻るボタンで機能します。

1

これを実現する簡単な方法は、URL内のページの状態を追跡することです。あなたはjavascriptでこれを行う、またはこのjqueryの履歴プラグインのようなものを使用することができます

http://tkyk.github.com/jquery-history-plugin/

次に、ページのロード時(バックボタンがヒットした最初の時間または)あなたはページの状態を設定することができますクエリ文字列の値に基づいています。

関連する問題