だいたい表題の通りなのですが、flatpickrを使用しているフォームで、確認画面からhistory.back()した時に入力していた日付の値が消えます。
前提など
- すみません、PHPは本業でないので知識不足の点がありましたら申し訳ありません。
- モジュールでないflatpickrです。
- フォームには他の要素がありますが、それはどのブラウザでも保持されている。
- firefoxでは、日付も保持されているので問題がない(ちなみに、firefoxではjsで付け替えたクラスも保持してくれてたりして、他のブラウザと挙動が結構違うなと…)
- history.back()以外の記述に直すのは、納期の関係でやめたい。
- 入力画面のPHPのコード上部にキャッシュ関連の記述があり、下記です。まだ追記したほうがよいコードありましたら載せます。
PHP
1<?php 2 if (!session_id()) { 3 session_start(); 4 } 5 6 header('Expires:-1'); 7 header('Cache-Control:'); 8 header('Pragma:'); 9
やったこと
- 新しいバージョンのflatpickrを使用する => 公式にあるものを引っ張ってきましたがだめぽい。
- session_cache_limiter関係の記述 => publicとnoneはやってみたけど、だめぽい。
- セッションで値を保持し、それを入力画面にセット => ページの状態がキャッシュされているので、リロードしないとそれが出てこない、リロードすると他のフォーム要素が消えてしまう => jsと絡めてそこだけ処理する?
要望としましては、複雑に絡めないで、flatpickrの問題はflatpickrの問題としてさっと処理できると嬉しいのですが、最悪、上述のセッションで値保持 + jsと絡める をやらざるを得ないかもと思っています。
時間をかければ解決するかもしれませんが、何かよい考えをお持ちの方がいらしたらお知恵を拝借できればと思った次第です。よろしくおねがいします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。