投稿日:2018/05/24
以下の条件のとき、送信ボタンを押しても反応しなくなる。
2018/05/14現在最新のmac、iPhone環境で
WordPress商材の問い合せフォーム(ファイル添付機能付き)を
添付「無し」で送信しようとすると
通信エラーになり送信完了画面までたどり着けない。
これはSafariのバグらしく、空のtype=”file”属性のAjax通信が出来なくなっている模様。
デスクトップならブラウザ、iPhoneならiOSのアップデートで解消されるのを待つしかない。
回避策はwordpress.orgのフォーラムにもあがっているが、ここに書かれているJSでは不完全なので、下記コードをheader.phpの(閉じタグ)直前に追記して対応すること。
- iOS 11.3 Safari、もしくはmacOS Safari 11.1
- フォームにファイル添付機能が付いている(
<input type="file">
) - 送信をAjax通信で行っている(Contact Form 7はこれで行っている)
- 送信時、ファイル添付を「していない」
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>