ファイル選択をしたら自動的にajaxでアップロードする機能をつくっていたのだけど、やっぱりIE対応でつまづいた。いちおうIE8対応を目指した。
ajax送信は、このライブラリを使用。
jQuery Form Plugin
http://malsup.com/jquery/form/
そのままだとIEで動かない。
596行目のfinallyがIEではエラーになるので、コメントアウト。
次、ファイル選択で自動アップロードしたかったので、jQueryのchangeイベントで処理を書いたが発火してくれない。
jQueryのchangeイベントで気をつけること
http://d.hatena.ne.jp/sho-yamasaki/20120319/1332168988
onchangeならうまくいくらしい。
あと、ファイル選択部分を以下をつかって整えた。
JavaScript · Jasny Bootstrap
http://jasny.github.io/bootstrap/javascript/#fileinput
がIE9以下だとうまく動作しないので、条件付きコメントで切り分けることにした。IE10は条件付きコメントが廃止されたので、他のモダンブラウザと同様に動作する。
ということで、最終的なコードはこんなかんじ。
毎回、IEには苦労させられる。テンプレ通りIE爆発しろ!と言っておこう。