問い合わせフォームの確認画面で「戻る」ボタンをクリックして入力画面に戻ると、入力データが消えている (Firefoxのみ)
環境
JQuery 1.12.4
PHP 7.4
経緯
問い合わせフォームで入力したデータが確認画面から戻る際に、消えていることがあったので。メモです。
ボタン自体は下記のようなもので、ここでは入力画面へ戻った際のデータの保持は history.back()
でしています。
# 確認画面
<?php
session_start();
以下、session処理
?>
<dl>
<dt>氏名</dt>
<dd><?=htmlspecialchars($post['name'])?></dd>
</dl>
<div class="btn>
<button type="button" onclick="history.back()">入力画面へ戻るボタン</button>
</div>
# 入力画面
<?php session_start();?>
<dl>
<dt><label for="name">氏名</label></dt>
<dd><input id="name" type="text" name="name" required></dd>
</dl>
テストしたところ、Chrome、Edgeは問題なく、Firefoxの場合のみで入力画面へ戻った際に入力データが消失していました。
解決
下記のように、入力画面で使用していなかった不要な session_start()
を削除後、キャッシュ削除して閲覧するとFireFoxも問題なく動作しました。
# 入力画面
<?php ?>
<dl>
<dt><label for="name">氏名</label></dt>
<dd><input id="name" type="text" name="name" required></dd>
</dl>
恐らくですが、ブラウザによってキャッシュを読み込む順番が違うのかと思います。
皆さんも不要なコードは削除しましよう。
Author And Source
この問題について(問い合わせフォームの確認画面で「戻る」ボタンをクリックして入力画面に戻ると、入力データが消えている (Firefoxのみ)), 我々は、より多くの情報をここで見つけました https://qiita.com/beachWoooWoo/items/cdd87545579920ccd8be著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .