現在オフラインです。再接続するためにインターネットの接続を待っています

Internet Explorer 10 の input type=file において、選択したファイルのアップロードをキャンセルできない

現象
Internet Explorer 10 および 11 において、ファイル アップロード コントロール (input type=file) を使用するシナリオを考えます。
ユーザーはコントロールの [参照] ボタンを押下してなんらかのファイルを選択します。
この時、コントロールのテキスト ボックス部分をフォーカスして [Backspace]、[Delete] または [ESC] キーを押下すると、選択したファイルのパス文字列が消去されます。
しかしながら、実際にはファイルの選択は解除されず、フォームのサブミット操作を行うと選択したファイルの情報が Web サーバーに送信されます。
原因
Internet Explorer 10 および 11 では、HTML5 仕様で定義されている複数ファイルのアップロードに対応するため、選択したファイルのハンドルの管理方法を変更しています。
以前のバージョンと異なり、ファイルを選択した時点でファイル ハンドルを取得する動作変更に起因して発生します。

解決方法
Internet Explorer の設定により、以前のバージョンと同じ動作に戻す方法はありません。
回避策
Web ページの記述を変更できる場合は、以下のように [Backspace]、[Delete] または [ESC] キーの押下を検出し、ファイル アップロード コントロールを作成しなおす方法でファイルの選択を解除できます。

<input type="file" name="testfile" id="testfile" onkeydown="if ((event.keyCode == 8) || (event.keyCode == 27) || (event.keyCode == 46)) {var file = this.cloneNode(false); this.parentNode.insertBefore(file, this); this.removeNode(true);}">

関連情報
ファイル アップロード コントロール (input type=file) については、次のマイクロソフト Web サイトを参照してください。

input type=file element | input type=file object
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2886300 - 最終更新日: 09/20/2016 10:38:00 - リビジョン: 2.0

Windows Internet Explorer 10, Internet Explorer 11

  • KB2886300
フィードバック