/ #JS #JavaScript 

JavaScriptで"history.back" を使うとフォームの入力値がすべてクリアされてしまう現象を修正した話

入力値が消える問題

入力 > 確認 > 送信 のよくあるフローのフォームを作成し、確認画面でJavaScriptのhistory.backを使って履歴を戻ったところ、 入力したデータがすべて消えてしまう現象に出くわしました。

<a href="javascript:void(0);" onclick="history.back();">戻る</a>

検索してそれっぽい方法をいくつか試してみました。

ページの有効期限を設定してみたり:

<meta content="86400" http-equiv="Expires">

PHPのセッションの設定を変えてみたり:

session_cache_limiter('public')
session_start()

タグのvalue属性を消してみたり:

<input type="text" name="name">

2時間ほど奮闘してみましたが解決せず。

最終的に、フォームタグのautocomplete="off"を消したら入力値を残すことができました。
お困りの際は是非。