ブラウザのhistory.back() Edgeはチェックボックス・ラジオボタンの値が消え、Chromeはhiddenの値が消える

2017年11月17日

タイトルのままですが、ブラウザの戻るボタンで戻った時、Edgeはチェックボックス・ラジオボタンの値が消え、Chromeはhiddenの値が消えました(2017年9月時点に確認)。
これはブラウザの仕様のようです(仕様とかどこに書いてるのか分からないで、違うかもしれませんが)。

  1. html - Microsoft Edge browser history bug on input type radio and checkbox? - Stack Overflow
  2. Chrome doesn't cache hidden form field values for use in browser history - Stack Overflow

下記リンクのようにブラウザバックして画面が表示されたときにhiddenの値から復帰処理を行えます。

  1. Microsoft Edgeでブラウザバックをした時ラジオボタンのチェックが外れる問題 - Qiita

しかし、chromeだとhiddenの値が消えるため、以下のように非表示のtextフィールドで対処します。

< div style="display:none" >
    <input type="text" name="name" value="val">
</ div >