※社内専用

mobile SafariでContact Form 7のメールフォームの送信ができない

  • HOME
  • EPRESS-BS
  • mobile SafariでContact Form 7のメールフォームの送信ができない
以下の条件のとき、送信ボタンを押しても反応しなくなる。
  1. iOS 11.3 Safari、もしくはmacOS Safari 11.1
  2. フォームにファイル添付機能が付いている(<input type="file">
  3. 送信をAjax通信で行っている(Contact Form 7はこれで行っている)
  4. 送信時、ファイル添付を「していない」
つまり、
2018/05/14現在最新のmac、iPhone環境で
WordPress商材の問い合せフォーム(ファイル添付機能付き)を
添付「無し」で送信しようとすると
通信エラーになり送信完了画面までたどり着けない。

これはSafariのバグらしく、空のtype=”file”属性のAjax通信が出来なくなっている模様。
デスクトップならブラウザ、iPhoneならiOSのアップデートで解消されるのを待つしかない。

回避策はwordpress.orgのフォーラムにもあがっているが、ここに書かれているJSでは不完全なので、下記コードをheader.phpの(閉じタグ)直前に追記して対応すること。
<script>
jQuery(function($) {
  $(`.wpcf7 [type="submit"]`).click(function() {
    $(`input[type="file"]`).each(function() {
      if($(this).val() === '') {
        $(this).remove();
      }
    });
  });
});
</script>