PIYO - Tech & Life -

Safariでファイル選択があるフォームでファイルを選ばずにXHRリクエストすると固まる

Mac iOS Safari

MacとiOSのSafariでのファイル選択有りのフォームの送信がうまくいかないケースがありました。

Submitボタンを押したときにChromeのNetworkに何も現れないのでしばらくはまりましたが、そのものズバリのバグがSafariにあることがわかりました。

https://stackoverflow.com/questions/49614091/safari-11-1-ajax-xhr-form-submission-fails-when-inputtype-file-is-empty

ファイルinputが空の状態のときはajaxの送信前に該当のinputをdisabledにしておき、送信データが作られたあとはdisabledを外して元に戻しておくとやると回避できる、というコードが紹介されていました。

こちらのQiita記事のコードのほうがdata-safari-temp-disabledみたいにinputを限定するような工夫があるので良さそうに思い、こちらのコードで回避するに至りました。

https://qiita.com/yuya_presto/items/65be91b0255af49f0396