このアドバイスに従って、IE で FILE 入力をクリアします (具体的には、ここでも説明されている clone メソッドを使用しますが、リテラル HTML に置き換えてみました)。私の目標は、カスタム スタイルのアップロード コントロールに「ファイルの削除」ボタンを配置して、入力をクリアし、別のファイルを受信できるように「リセット」することでした。
問題は (IE のみ、IE9 までテスト済み)、このメソッドを使用して FILE 入力をクリアできますが、置換された FILE 入力で変更イベントを使用できません。クローンが元の ID と同じ ID を持ち、両方が DOM に存在するためだと思われますが、これは理論に過ぎません...これは回避できますか?
うまくいけば、問題を説明/明確化するには: このFIDDLE :
すべての非 IE ブラウザでは、
- 「ファイルを追加」をクリックしてファイルを選択
- 値がファイル フィールドに入力されます (通常は表示されません)。
- 「選択なし」が「ファイル選択済み」に変更されました
- 同じ行の [ファイルの削除] をクリックします。すべてがリセットされ、再び使用できるようになります。
- 「ファイルを追加」をクリックすると、プロセスが通常どおり繰り返されます
IEでは、
- 1-4 同じ上
- 「ファイルの追加」をもう一度クリックすると、新しいファイルを選択できますが、その後のアクション (3-4) は再び発生しません。
「すべての」ブラウザで機能するこれに対する解決策はありますか?