Contat Form 7 のバグかと思ったら。。

記事
IT・テクノロジー
少し技術的な内容になります。

Contat Form 7 の自動送信メールで、特定の項目が設定されないというお問い合わせを調査しました。

Chromeのdev toolでelementsを確認したところ、チェックボックスとラジオボタンのみ値が設定されないことが分かりました。
www2-min-min.png

Contat Form 7 の設定は間違っていないので、バグと考えましたが、ネット上には情報が無く、最終手段のプラグイン更新を行いました。

無事、更新完了しましたが、現象は変わらず。
ただ、ブラウザバックしてからsubmitするとなぜかチェックボックス内容が反映するのです。

ということは、初期表示の際にスクリプトで何かしているのかと考え、Contat Form 7 を読み込んでいるhtmlソースを確認すると、inputタグのvalueを更新するスクリプトを発見。

inputタグはテキスト入力フィールドのように入力内容がvalueに設定される項目と、checkboxのようにvalueがあらかじめ設定されている項目があります。
そのため、Inputタグ全て更新してしまうと、checkboxやradioの値がおかしくなってしまいます。
しかもstyle=file はvalue更新NGのため、スクリプトエラーにもなります。

今回は、
checkboxとradioとfile のみ除外する処理を入れて無事対応完了となりました。


サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す