2

IEで戻るボタンのクリックでフォームの値を同じにする方法は?

次のように戻るボタンをクリックすると

<input type="button" value="Back" onClick="history.go(-1);return true;" class="back-button">

IE ではフォームの値は表示されません。

フォームを送信すると入力のあるフォームがあります 次のページに移動します クリックすると戻るボタンが1つあります フォームページに移動しますが、フィールドを持つフォームに値がありません これはIEの問題です

4

1 に答える 1

2

ページ間を移動する場合、通常、フォームの値は保存されません。サーバー構成がページ キャッシングをサポートしている場合に発生する可能性があります。ただし、別の方法として、フォームの値を Cookie または新しい HTML 5 セッション ストレージに保存することもできます。これは、フォーム ヘッダーで onsubmit と呼ばれる関数を起動することで実現できます。

IE

<form id="[form id]" name="[form name]" action="[some action]" method="[GET or POST]" onsubmit="saveFormValues();">

この場合、ユーザーが送信ボタンをクリックして続行すると、値がローカル ブラウザー ストレージ (本質的にはローカル キャッシュ) に保存されます。

戻るボタンがクリックされると、ページの onload イベントが値を確認し、適切なフィールドに値を再割り当てして、ユーザーが以前に入力した選択肢、選択、および入力を保持できます。

HTML 5 セッション ストレージ変数を設定するには:

if(typeof(sessionStorage)!=="undefined")
{
    sessionStorage.[Variable Name]=$([Field Name]).val();
}

ページに戻ったとき:

if(typeof(sessionStorage)!=="undefined") {
{
    $([Field Name]).val(sessionStorage.[Variable Name]);
}

この最後のブロックは、保存された状態値を取得します。最終提出が完了したら、必ず次の電話番号に電話してください。

sessionStorage.clear();

これにより、セッション ストレージ変数がクリアされ、ユーザーがページに再度アクセスしたときに、フォームが新しいフォームとして表示されます。

お役に立てれば。

于 2012-10-01T15:53:32.000 に答える