CF7 Multi-Step FormsとGoogle Sheets Connectorを併用すると重複してスプレッドシートに追加される問題の打開策
Wordpressのお問い合わせプラグイン Contact Form 7 において
確認画面を追加できるプラグイン「Contact Form 7 Multi-Step Forms」と
送信内容をスプレッドシートにまとめられる「CF7 Google Sheets Connector」を併用したときに
確認画面遷移時と送信時の2回 同じ内容がスプレッドシートに送られてしまう現象の打開策をご紹介します。
根本的な解決策は思いつかず、あくまで応急処置的な内容ですがご了承ください。
目次
打開策
確認画面と送信時に2回送られてしまう現象については、一旦諦めます。
その代わり、送信時のみ「submit」列にボタン文言が入るようにし
(この例だと5行目を採用すれば良い)
「submit」列にフィルターをかければ、送信された情報のみ並べることができます。
このような方針でいきます。
手順
入力フォームの確認ボタンのほうは、特に触る必要はなくて
<input type="submit" value="確認">
確認画面の送信ボタンのほうに、何かしらのname属性を設定するのがゴールです。
<input type="submit" name="submit" value="送信">
まず、Contact Form 7編集画面から送信ボタンに何かしらのidかclassを振ります。
[submit id:submit "送信"]
確認画面のフォームをこんな感じにします。
するとこのように出力されるので
<input type="submit" id="submit" value="送信">
JSで送信ボタンのname値を設定します。
$("#submit").attr("name", "submit"); //送信ボタンのname値を「submit」に設定
/* == or == */
document.getElementById("submit").setAttribute("name", "submit"); //バニラなJavaScriptならこう
これで、送信時のみ「submit」という情報が送られるようになります。
あとはスプレッドシートの方に「submit」列を作成 (name値と合わせてください)
このように情報が入るので
「submit」列にフィルターをかければ完成です。
何が起こっていたか
「Contact Form 7 Multi-Step Forms」と「CF7 Google Sheets Connector」を併用すると
確認画面へ遷移するタイミングと
送信するタイミングでスプレッドシートに情報が送信され
スプレッドシートに同じ情報が2つ送られてしまいます。
確認画面へ進んだり戻ったり繰り返されたら地獄ですね...
定かではありませんが「CF7 Google Sheets Connector」の仕様でtype="submit"が押されたときにスプレッドシートへ情報が送信されるようで
確認画面へ遷移するボタンも、送信ボタンも両方type="submit"なので2回送られてしまうのだと思います。
お役に立てましたら応援をお待ちしております!
頂いた応援は子育てに活用させていただきます。
または以下のボタンからなにか買って応援 (PR)
Amazon
楽天市場
Yahoo!ショッピング