フロントの人の雑多メモ

CF7 add confirmとGoogle Sheets Connectorを併用すると重複してスプレッドシートに追加される問題の打開策

CF7 add confirmとGoogle Sheets Connectorを併用すると重複してスプレッドシートに追加される問題の打開策

Wordpressのお問い合わせプラグイン Contact Form 7 において

確認画面を追加できるプラグイン「Contact Form 7 add confirm」と
送信内容をスプレッドシートにまとめられる「CF7 Google Sheets Connector」を併用したときに

確認画面遷移時と送信時の2回 同じ内容がスプレッドシートに送られてしまう現象の打開策をご紹介します。

根本的な解決策は思いつかず、あくまで応急処置的な内容ですがご了承ください。

目次

打開策

確認画面と送信時に2回送られてしまう現象については、一旦諦めます。

その代わり、送信時のみ「submit」列にボタン文言が入るようにし

Contact Form 7 add confirmとCF7 Google Sheets Connectorを併用するとスプレッドシートに2つ登録される

(この例だと5行目を採用すれば良い)

「submit」列にフィルターをかければ、送信された情報のみ並べることができます。

スプレッドシート フィルターを使って絞り込み

このような方針でいきます。

手順

確認ボタンのほうは、特に触る必要はなくて

<input type="submit" value="確認">

送信ボタンのほうに、何かしらのname属性を設定するのがゴールです。

<input type="submit" name="submit" value="送信">

まず、Contact Form 7編集画面から送信ボタンに何かしらのidかclassを振ります。

[submit id:submit "送信"]

こんな感じにします。

WordPress Contact Form 7 管理画面

するとこのように出力されるので

<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列を作成

このように情報が入るので

スプレッドシート

「submit」列にフィルターをかければ完成です。

スプレッドシート フィルター

何が起こっていたか

「Contact Form 7 add confirm」と「CF7 Google Sheets Connector」を併用すると

確認画面へ遷移するタイミングと

WordPress Contact Form 7

送信するタイミングでスプレッドシートに情報が送信され

WordPress Contact Form 7 確認画面

スプレッドシートに同じ情報が2つ送られてしまいます。

スプレッドシートに同じ情報が2つ入る

確認画面へ進んだり戻ったり繰り返されたら地獄ですね...

定かではありませんが「CF7 Google Sheets Connector」の仕様でtype="submit"が押されたときにスプレッドシートへ情報が送信されるようで

確認画面へ遷移するボタンも、送信ボタンも両方type="submit"なので2回送られてしまうのだと思います。

コメント

内容を確認の上、個人情報などは省いて掲載させていただきます。

お名前・メールアドレスも入力する

メールで返信がほしい場合に入力してください。

頂いた個人情報は開示しません。返信のためだけに利用いたします。

直接送信されます。確認の上、「送信」してください。

お役に立てましたら応援をお待ちしております!
頂いた応援は子育てに活用させていただきます。

OFUSEで応援を送る


または以下のボタンからなにか買って応援 (PR)

Amazon

楽天市場

Yahoo!ショッピング

Amazonのアソシエイトとして「けん」は適格販売により収入を得ています。

シェア

Twitterでシェア Facebookでシェア LINEでシェア はてなブックマークでシェア

お役に立てましたら応援をお待ちしております!
頂いた応援は子育てに活用させていただきます。

OFUSEで応援を送る