• 解決済 yukihiro10

    (@yukihiro10)


    Contact Form 7とContact Form 7 Multi-Step Formsにより①問い合わせフォームと②問い合わせフォームを作成しました。

    ①にはyour-name、your-email、test1フィールドを作成し、②にはyour-name、your-email、test2フィールドを作成しています。

    問題が発生する手順は以下なります。

    ①の問い合わせフォームを以下の通り入力して、確認画面まで遷移します。
    your-name:user01
    your-email:user01@test.com
    test1:問い合わせ①の内容です。

    確認画面上で戻るボタンを押下することで、再度フォーム入力画面に遷移します。この際、先ほど入力した内容がフォーム上に書き込まれた状態で表示されます。

    この状態にした後に②問い合わせフォーム画面に遷移したところ、①で入力した内容が残っている状態です。

    your-name:user01
    your-email:user01@test.com
    test2:「空」  ※①問い合わせではtest1というフィールド名だったため、空となる。

    また、裏ではtest1に”問い合わせ①の内容です。”という内容が保持されており、②の問い合わせフォームを送信までもっていくとtest1というフィールドも出現する。

    望ましい動きは以下となります。

    フォーム選択画面 ⇒ フォーム入力画面 ⇒ 確認画面 ⇒ 完了画面

    のように遷移させているため、フォーム選択画面に遷移した際に保持しているフォーム入力情報をクリアさせたい。(フォーム入力画面でクリアしてしまうと確認画面から戻ってきたときにも値が消えてしまうため)

    補足

    開発者ツールで確認すると、scriptタグ内にcf7msm_posted_dataという変数があり、ここに値を保持しているように見えた。なのでフォーム選択画面で値をクリアさせてから、フォーム入力画面に遷移させてみたが、値は復活している。
    フォーム入力画面初期表示時にcf7msm_posted_data = [] みたいにクリアコマンドを入れると値が表示されなくはなったが、確認画面から戻ってきたときにも値が消えてしまうので、できればフォーム選択画面表示時に保持している値を消すような動きにしたい

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター 瀬戸内ことり (Setouchi Kotori)

    (@setouchikotori)

    プラグインなどのキャッシュが効いている可能性はないでしょうか?

    トピック投稿者 yukihiro10

    (@yukihiro10)

    返信ありがとうございます。

    プラグインのキャッシュとはどのようなものになりますか?
    キャッシュを無効にするにはどのような手段があるかお伺いさせてください。

    モデレーター 瀬戸内ことり (Setouchi Kotori)

    (@setouchikotori)

    キャッシュについては こちら をご参照ください。

    モデレーター 瀬戸内ことり (Setouchi Kotori)

    (@setouchikotori)

    プラグインによりますが、例えば私が愛用しているキャッシュプラグイン「WP-Optimize」では、キャッシュ対象から除外する URL (スラッグ) を入力する箇所が用意されています。

    こちらにコンタクトフォームを設置しているページのスラッグ ( 例 /contact/ ) を記入することで、そのページのみキャッシュ対象から除外できるようになっています。

    キャッシュについては▼こちらも参考にされてみてください。

    WordPressサイトに関わるキャッシュを理解する
    https://kansai.wordcamp.org/2024/session/understand-the-cache-involved-in-a-wordpress-site/

    トピック投稿者 yukihiro10

    (@yukihiro10)

    返信が遅れて申し訳ありません。

    ご丁寧に説明いただきありがとうございます。
    上記のキャッシュプラグインを試してみようと思います。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「Contact Form 7で前の情報が保持される」には新たに返信することはできません。